JAVA中的泛型(Generic)

时间:2022-09-20 19:23:08

Java泛型(Generic)简介

泛型是jdk1.5版本以后推出来的,表示类型参数化,让java能更具有动态性一些,让类型能变成参数传递。
要我自己感觉的话,泛型本身没啥用,跟反射在一起用,就体现出了它的价值。

Java泛型的三种用法

  • 泛型类
public class User<E> implements IUser<String> {

private String nickname;
private String userId;
private String password;

@Override
public void login(String userId, String password){
if(this.userId == userId && this.password == password){
System.out.println("用户登录成功");
}
else
System.out.println("用户登录失败");
}

@Override
public void editNickname(String nickname) {
this.nickname = nickname;
System.out.println("修改昵称成功,当前用户的昵称是:"+this.nickname);
}

}
  • 泛型接口
public interface IUser<T> {

void login(String userId,String password);

void editNickname(String nickname);

}
  • 泛型方法
public <T> T getInstance(Class<T> c){

T instance = null;

try {
instance = (T)c.newInstance();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return instance;
}