『壹』 java 泛型的幾種用法
1. public class DAO<T> {
/**
* 泛型類
* 聲明類的同時聲明泛型類型
* 1.方法的返回值可以是使用聲明的泛內型類型
* 2.方法的參數也可以是聲明類的泛型類型
* 3.方法體內可以使用泛型類型
*/
public T get(Integer id){
return null;
}
public void save(T entity){
}
}
2.
/**
* 泛型方容法: 在方法聲明時, 同時聲明泛型. 在方法的返回值, 參數列表以及方法體中都可以使用泛型類型.
* public static <T> T get(Integer id){
* T result = null;
* return result;
* }
* 把指定類型的數組中的元素放入到指定類型的集合中
*/
『貳』 java中什麼是泛型,怎麼用泛型
最簡單的運用:List<String> list = new ArrayList<String>();
這個是什麼意思?
意思就是list只裝String類型的數據,別的,裝不進去
然後你版就會覺得這個好權像有點封裝的意思,比如LIst<Student>,封裝學生類
所以,所謂泛型就是廣泛的數據類型,你可以把它理解成封裝
『叄』 java 方法中如何在返回類型使用泛型
參考這段List克隆代碼。返回內的容List<T>中T為入參的Class<T>
public static <S, T> List<T> List(List<S> source,Class<T> targetClass) {
if (CollectionUtils.isEmpty(source)) {
return new ArrayList<T>();
}
String json = JSON.toJSONString(source);
List<T> list = JSON.parseArray(json, targetClass);
return list;
}
『肆』 Java 泛型如何使用
public class Test<T> {
private T name;
public T getName() {
return name;
}
public void setName(T name) {
this.name = name;
}
public static void main(String[] args) {
Test<String> stringTest = new Test<String>();
stringTest.setName("aaa");
System.out.println(stringTest.getName());
Test<Integer> integerTest = new Test<Integer>();
integerTest.setName(1111);
System.out.println(integerTest.getName());
}
}
『伍』 Java中,怎麼在使用自己寫的工具類時指定泛型T的類型
調用的時候傳類型,公用的方法寫T就行了或者不寫。T只是佔位置的。
『陸』 java中如何定義一個泛型函數
泛型(Generic type 或者 generics)是對Java語言的類型系統的一種擴展,以支持創建可以按類型進行參數化版的類。可以把權類型參數看作是使用參數化類型時指定的類型的一個佔位符,就像方法的形式參數是運行時傳遞的值的佔位符一樣。
定義泛型方法語法格式如下:
定義泛型方法時,必須在返回值前邊加一個<T>,來聲明這是一個泛型方法,持有一個泛型T,然後才可以用泛型T作為方法的返回值。
Class<T>的作用就是指明泛型的具體類型,而Class<T>類型的變數c,可以用來創建泛型類的對象。
『柒』 Java中怎樣使用泛型T類的方法
調用泛型方法語法格式如下publicclassExampleA{
public<T>voidf(Tx){
System.out.println(x.getClass().getName());
}
publicstaticvoidmain(String[]args){
ExampleAea=newExampleA();
ea.f("");
ea.f(10);
ea.f('a');
ea.f(ea);
}
}
輸出結果:
java.lang.String
java.lang.Integer
java.lang.Character
ExampleA
使用泛型方法時,不必指明參數類型,編譯器會自己找出具體的類型。泛型方法除了定義不同,調用就像普通方法一樣。
需要注意,一個static方法,無法訪問泛型類的類型參數,所以,若要static方法需要使用泛型能力,必須使其成為泛型方法。
『捌』 如何在Java程序中使用泛型
1 基本使用
publicinterfaceList<E>{
voidadd(E);
Iterator<E>iterator();
}
2 泛型與子類
Child是Parent的子類,List<Child>卻不是List<Parent>的子類。
因此:List<Object> list = new ArrayList<String>()是錯誤的。
如果上面是正確的,那麼:
List<String>ls=newArrayList<String>();//1
List<Object>lo=ls;//2
lo.add(newObject());//3
Strings=ls.get(0);//4,將object轉換為string將失敗。
Java基礎教程:
『玖』 java 中如何調用泛型的方法
這種也使用泛型,就很難達到設計的意願,維護起來也相對困難一些。
這要求不是泛型的使用,因為類型不確定,而是要使用反射的方法調用了。
『拾』 一個作業:利用java泛型讀文件,把文件讀出來後封裝入泛型,成為一個新文件,這個文件具有增刪改查功能。
public class Test<T> {
private T name;
public T getName() {
return name;
}
public void setName(T name) {
this.name = name;
}
public static void main(String[] args) {
Test<String> stringTest = new Test<String>();
stringTest.setName("aaa");
System.out.println(stringTest.getName());
Test<Integer> integerTest = new Test<Integer>();
integerTest.setName(1111);
System.out.println(integerTest.getName());
}
}
所謂泛型,就是變數類型的參數化。
泛型是JDK1.5中一個最重要的特徵。通過引入泛型,我們將獲得編譯時類型的安全和運行時更小的拋出ClassCastException的可能。
在JDK1.5中,你可以聲明一個集合將接收/返回的對象的類型。
使用泛型時如果不指明參數類型,即泛型類沒有參數化,會提示警告,此時類型為Object。