今天讲讲泛型类的使用,首先讲讲不使用泛型类的方法
Person.java
public class Person {
private int age;
private String name;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
写一个工具类 对Person进行操作
public class Tool {
private Person person;
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
}
Tool.java只能操作Person这个类,而不能操作其他类,这样肯定不利于扩展,如果Tool想操作其他的类,就没办法了,所以这样肯定不是解决问题最好的办法,因此得想办法让Tool也能操作其他类,
现在Tool.java使用了泛型类来操作不可预知的对象,
public class Tool<T> {
private T t;
public T getT() {
return t;
}
public void setT(T t) {
this.t = t;
}
}
T就代表要操作的类,这是我们自定义的,其实jdk中
ArrayList<String> al = new ArrayList<>();这样的
只不过这不是我们自己自定义的类,而是jdk提供给我们使用的,原理是一样的
ToolMain.java
public class ToolMain {
public static void main(String[] args) {
Tool<String> tool = new Tool<String>();
tool.setT("helloworld");
System.out.println(tool.getT());
}
}
在jdk1.5中后,使用泛型莱尼接受类中要操作的引用数据类型
泛型类:当类中操作的引用数据类型不确定的时候就使用泛型来表示