表示返回值是一个泛型,传递啥,就返回啥类型的数据,而单独的T就是表示限制你传递的参数类型,这个案例中,通过一个泛型的返回方式,获取每一个集合中的第一个数据, 通过返回值<T> T 和T的两种方法实现
这个<T> T 表示的是返回值T是泛型,T是一个占位符,用来告诉编译器,这个东西先给我留着,等我编译的时候,告诉你。
packagecom.yellowcong.test;importjava.util.ArrayList;importjava.util.List;importorg.apache.poi.ss.formula.functions.T;publicclass Demo {public static void main(String[] args){ Demo demo =newDemo();//获取string类型List array =newArrayList(); array.add("test"); array.add("doub"); String str = demo.getListFisrt(array); System.out.println(str);//获取nums类型List nums =newArrayList(); nums.add(12); nums.add(13); Integer num = demo.getListFisrt(nums); System.out.println(num); }/**
* 这个<T> T 可以传入任何类型的List
* 参数T
* 第一个 表示是泛型
* 第二个 表示返回的是T类型的数据
* 第三个 限制参数类型为T
*@param data
*@return */privateT getListFisrt(List<T> data){if(data ==null|| data.size() ==0) {returnnull; }returndata.get(0); }}
返回值,直接写T表示限制参数的类型,这种方法一般多用于共同操作一个类对象,然后获取里面的集合信息啥的。
packagecom.yellowcong.test;importjava.util.ArrayList;importjava.util.List;publicclass Demo2<T>{public static void main(String[] args) {//限制T 为String 类型Demo2 demo =newDemo2();//获取string类型List array =newArrayList(); array.add("test"); array.add("doub");Stringstr = demo.getListFisrt(array);System.out.println(str);//获取Integer类型 T 为Integer类型Demo2 demo2 =newDemo2();List nums =newArrayList(); nums.add(12); nums.add(13);Integernum = demo2.getListFisrt(nums);System.out.println(num); }/**
* 这个只能传递T类型的数据
* 返回值 就是Demo<T> 实例化传递的对象类型
* @param data
* @return */privateTgetListFisrt(List data) {if(data ==null|| data.size() ==0) {returnnull; }returndata.get(0); }}