Java之泛型<T> T與T的用法
阿新 • • 發佈:2020-11-17
<T> T
表示返回值是一個泛型,傳遞啥,就返回啥型別的資料,而單獨的T
就是表示限制你傳遞的引數型別,這個案例中,通過一個泛型的返回方式,獲取每一個集合中的第一個資料, 通過返回值<T> T
和T
的兩種方法實現
<T> T
用法
這個<T> T
表示的是返回值T是泛型,T是一個佔位符,用來告訴編譯器,這個東西先給我留著,等我編譯的時候,告訴你。
package com.yellowcong.test; import java.util.ArrayList; import java.util.List; import org.apache.poi.ss.formula.functions.T;public class Demo { public static void main(String[] args) { Demo demo = new Demo(); //獲取string型別 List<String> array = new ArrayList<String>(); array.add("test"); array.add("doub"); String str = demo.getListFisrt(array); System.out.println(str);//獲取nums型別 List<Integer> nums = new ArrayList<Integer>(); nums.add(12); nums.add(13); Integer num = demo.getListFisrt(nums); System.out.println(num); } /** * 這個<T> T 可以傳入任何型別的List * 引數T * 第一個 表示是泛型 * 第二個 表示返回的是T型別的資料 * 第三個 限制引數型別為T *@param data * @return */ private <T> T getListFisrt(List<T> data) { if (data == null || data.size() == 0) { return null; } return data.get(0); } }
T 用法
返回值,直接寫T
表示限制引數的型別,這種方法一般多用於共同操作一個類物件,然後獲取裡面的集合資訊啥的。
package com.yellowcong.test; import java.util.ArrayList; import java.util.List; public class Demo2<T> { public static void main(String[] args) { //限制T 為String 型別 Demo2<String> demo = new Demo2<String>(); //獲取string型別 List<String> array = new ArrayList<String>(); array.add("test"); array.add("doub"); String str = demo.getListFisrt(array); System.out.println(str); //獲取Integer型別 T 為Integer型別 Demo2<Integer> demo2 = new Demo2<Integer>(); List<Integer> nums = new ArrayList<Integer>(); nums.add(12); nums.add(13); Integer num = demo2.getListFisrt(nums); System.out.println(num); } /** * 這個只能傳遞T型別的資料 * 返回值 就是Demo<T> 例項化傳遞的物件型別 * @param data * @return */ private T getListFisrt(List<T> data) { if (data == null || data.size() == 0) { return null; } return data.get(0); } }