java中的泛型可以参考形参和实参的概念,泛型就是把类型参数化。即:定义的时候使用表示类型,在实际使用的时候传入具体类型。
举例:
List list= new ArrayList();list.add("123");list.add(123);for(int i = 0; i< list.size();i++){String item = (String)list.get(i);}
应当使用List list= new ArrayList();,这样在编译阶段就会给出问题
泛型类:
public class Test{
private T value;
public Test(T value) {
this.value= value;
}
public T getValue(){
return value;
}
}
Test test1= new Test();
Test test2= new Test();
此时对应的类型就会传入到类中
泛型方法:
public T testMethod(Class tClass)throws InstantiationException , IllegalAccessException{
T instance = tClass.newInstance();
return instance;
}
Object obj = testMethod(Class.forName("com.test.Test"));
public <T,K> List selectList(Test test){
K = test.getValue();
List list = new ArrayList();
return list ;
}
List l = selectList(test1);
java中的泛型可以参考形参和实参的概念,泛型就是把类型参数化。即:定义的时候使用表示类型,在实际使用的时候传入具体类型。
举例:
List list= new ArrayList();
list.add("123");
list.add(123);
for(int i = 0; i< list.size();i++){
String item = (String)list.get(i);
}
应当使用List list= new ArrayList();,这样在编译阶段就会给出问题
泛型类: public class Test{
private T value;
public Test(T value) {
this.value= value;
}
public T getValue(){
return value;
}
}
Test test1= new Test();
Test test2= new Test();
此时对应的类型就会传入到类中
泛型方法: public T testMethod(Class tClass)throws InstantiationException , IllegalAccessException{
T instance = tClass.newInstance();
return instance;
}
Object obj = testMethod(Class.forName("com.test.Test"));
public <T,K> List selectList(Test test){
K = test.getValue();
List list = new ArrayList();
return list ;
}
List l = selectList(test1);