此处的
下面介绍
1.方法参数带T
public class Test {
//这里的泛型受入参类型影响,跟入参类型保持一致
public static List getListFromArray(E[] array) {
List result = new ArrayList<>();
for(E tmp : array){
result.add(tmp);
}
return result;
}
public static void main(String[] args) {
Student[] students = {new Student(1,"张三",123),new Student(2,"李四",123)};
List listFromArray = getListFromArray(students);
System.out.println(listFromArray);
}
}
结果:
2.方法参数不带T和类后不带
public class Test {
final static HashMap obj = new HashMap<>();
//这里的泛型受接受接收参数影响,即方法会自动转成接收参数对应的类型
//如果无法转换,则报ClassCastException: XX cannot be cast to XX
public static T getObj(String key) {
return (T) obj.get(key);
}
public static void main(String[] args) {
obj.put("student",new Student(1,"张三",123));
obj.put("user",new User("zhansan","abc123"));
Student student = getObj("student");
User user = getObj("user");
System.out.println(student);
System.out.println(user);
}
}
结果



