我有以下代碼:的Java類型轉換,從擴展
public static <T extends User> void addUser(String username,
String passwordHash, Class<T> userClass, File usersDir) {
T user = (T) new User(username, passwordHash);
UserManager.toFile(user, usersDir);
}
Eclipse中給了我以下警告:
Type safety: Unchecked cast from User to T
爲什麼我得到警告,它不是檢查,如果我定義T將用戶擴展爲<T extends User>
因爲不管你是否使用泛型,你都不能低調嗎?除非'T' *是*'User',否則它是無效的。 – 2013-03-07 17:06:12