您的位置 首页 java

Java泛型的个人理解

java泛型的意义

首选,我们说一下,为什么要用 泛型 ,泛型来解决什么问题. 泛型解决, 某一个集合类内部添加多个类的某一种类的对象 以前我们想用一个类,来解决这个问题,我们可以这样

Class Test {
private Object obj;
public void setObj(Object ){
this.obj=obj;
}
public Object getObj(){
return this.obj
}
}
//缺点是:向上转化的弊端,无法调用内部对象的自有方法,只能存取.
//另一种方法也可以写出无数个,适配不同类内部类型,当然这样写会很多
Class StringTest {
private String obj;
public void setObj(String ){
this.obj=obj;
}
public String getObj(){
return this.obj
}
}
缺点是:累不累啊,,我都累了.想存多少个得写多少个类.
 

泛型不但使代码复用而且解决了向上转型的缺点. 泛型的写法: 类型参数(泛型参数)由尖括号包围,多个参数由逗号分隔,如 或 <T, E>。 建议书写:习惯上使用单个大写字母,通常情况下,K 表示键,V 表示值,E 表示异常或错误,T 表示一般意义上的数据类型。 泛型方法和泛型类; 泛型类:

public class Test {
 public static void main(String[] args){
 Person<String> person=new Person<String>();
 person.setT("一个泛型类");
 System.out.println(person.getT());
 }
}
class Person<T>{
 T t;
 public T getT() {
 return t;
 }
 public void setT(T t) {
 this.t = t;
 }
 @Override
 public String toString() {
 return "Person{" +
 "t=" + t +
 '}';
 }
}
 

泛型方法:

public class test1 {
 public static void main(String[] args){
 Person1 person = new Person1();
 person.doubleT("泛型方法");
 }
}
class Person1{
 public <T> T doubleT(T t){
 return t;
 }
}
 

List <? extends Fruit> 意思: List中所有元素都是Fruit的子类(包含本身), List <? super Fruit> 意思: List中所有元素都是Fruit的父类(包含本身)

文章来源:智云一二三科技

文章标题:Java泛型的个人理解

文章地址:https://www.zhihuclub.com/194517.shtml

关于作者: 智云科技

热门文章

网站地图