我有以下代码:的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