導航:首頁 > 編程語言 > java返回值泛型

java返回值泛型

發布時間:2022-08-18 06:16:11

1. java泛型方法可以返回 List<T> 嗎

答案是肯定的!

publicclassDemo01<E>{

privateList<E>list=newArrayList<E>();

publicList<E>store(E[]arr){
list=Arrays.asList(arr);
returnlist;
}

publicstaticvoidmain(String[]args){
Demo01<String>d=newDemo01<>();
Stringanimals[]={"Cat","Dog","Pig","Monkey"};
List<String>list=d.store(animals);
for(Stringstring:list){
System.out.print(string+" ");
}
}
}

2. JAVA中的泛型用法一種: <T> 返回值用法。

1、對於泛型方法來說,是可以接收不同類型的參數,比如下圖,使用泛型來操作List集合,然後向List中添加一條數據,看是否可以添加成功,創建泛型方法如圖所示。

3. Java:這個返回值泛型是什麼寫法啊求解

這是jdk1.5 以後引入的寫法,T不是一種類型,而是代表根據需要進行動態匹配。要求是封裝類型的。比如Integer,String等或者你自己定義的實體類也是可以的。需要什麼類型就把T換成相應的類型就可以了。

4. 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;
* }
* 把指定類型的數組中的元素放入到指定類型的集合中
*/

5. java泛型問題

1:因為返回值E這個類型不明,所以調用這個泛型方法的時候統一都是返回Object類型
2:聲明成靜態方法的時候,你調用這個方法的時候IDE就會檢查語句,你的方法設置成你傳啥參數,他的返回值就是啥,所以你這邊參數設置成String類型的,你這邊調用這個靜態方法,他直接檢查知道返回值就是String類型的,所以會給你報錯
3:那隻是你測試3的時候,沒有把static修飾詞去掉的問題,T跟E兩個沒有關系

6. java 方法中如何在返回類型使用泛型

主要是一個編譯期的檢查,也避免了我們代碼中的強制轉換,比較經典的用法有泛型DAO,泛型Page的DTO。

現在我要說的是一個挺有趣但是貌似還不是太多的人在代碼中使用的方法,前段時間用guava和op4j的時候發現這樣的用法,看看了源碼,也是很簡單的。

比如guava中創建集合的方法 List<xx> list = Lists.newArrayList(),這個代替了我們傳統的 new ArrayList<xx>,為什麼在=的右邊不需要泛型了呢,我們看看源碼。

[java] view plain
public static <E> ArrayList<E> newArrayList() {
return new ArrayList<E>();
}
返回類型中帶有泛型E,並且這個泛型的來源在 static和 ArrayList之間的位置,我自己的理解是這個就和=左邊的一致,可能說的不夠專業但是意思應該就這樣。

於是我就依樣畫葫蘆在自己的代碼中也用了起來。

我要做的是一個仿httpsession機制的自定義協議是session。在httpsession.getAttribute方法返回的是一個
Object,然後我們再類型轉換。現在我用返回類型泛型來優化這個代碼,以下是我自定義協議session的getAttribute的代碼。
[java] view plain
@SuppressWarnings("unchecked")
public <E> E getAttribute(String key) {
return (E) map.get(key);
}
調用代碼
[java] view plain
Boolean isFirst = session.getAttribute("first");
在httpsession中我們則要這么寫
[java] view plain
Boolean isFirst = (Boolean)session.getAttribute("first");

泛型的用法還有很多,有新的心得再補充更新

7. 簡述java常用3種泛型定義及其作用

泛型(Generic type 或者 generics)是對 Java 語言的類型系統的一種擴展,以支持創建可以按類型進行參數化的類。可以把類型參數看作是使用參數化類型時指定的類型的一個佔位符,就像方法的形式參數是運行時傳遞的值的佔位符一樣。
定義泛型方法語法格式如下:

定義泛型方法時,必須在返回值前邊加一個<T>,來聲明這是一個泛型方法,持有一個泛型T,然後才可以用泛型T作為方法的返回值。
Class<T>的作用就是指明泛型的具體類型,而Class<T>類型的變數c,可以用來創建泛型類的對象。

8. java中一個方法的返回值可能是integer或者Double,請問該怎麼定義泛型接收

泛型也做不到,泛型是用來推導一批函數,用不同的類型實例化出不同的函數,你得要求是,同一個函數,不同case的返回值類型不同,泛型不太適合你的需求。
泛型方法可類型如下定義:
public <T> T function(參數)
{
return ....;

}
T推導成何種類型,看如果調用
例如:
int i = function();//T = Integer
Object o = function();//T = Object
然而無論T為何種類型,推導之後的T都是唯一的,其實就是函數的返回值類型,是確定的。
從這個角度來說,設計上你這個想法是有問題的。
可以定義返回類型是Object,這樣無論if else返回什麼類型都能適用,不過還是再強調一下,這個不同case返回不同類型的設計,有點問題。

9. java中返回值類型<T> T 這兩個T分別代表什麼

這個語法叫「泛型」,所謂泛型,是類型的參數化。

10. JAVA方法返回值

這是泛型類型啊,你看類的定義原型,一般形式為
class
SomeName
.....
這個類一般表示一種數據結構模型,例如集合、鏈表之類的,E
表示此數據結構中可以存儲的元素類型。E
表示
Element,有的時候可能看到是
T(表示
Type),都一回事。
有的地方是不限定
E
的,也就是說某個結構里可以存儲任何類型的數據,而你在用的時候可以指定,例如
SomeName
a
=
new
SomeName
();
就指定了這個
a
只能存儲
Integer
對象,也就是只能存儲整數。以後如果有返回
E
的方法就相應返回
Integer
對象。
不過有的地方對
E
有要求,例如
TreeSet
里需要對元素排序,那它只能存儲能夠比較大小的元素,也就是要求
E
一定要實現
Comparable
介面,那麼一般就會定義成:public
class
TreeSet
......
這種形式。用的時候就必須指定一個實現了
Comparable
介面的類,例如:
TreeSet
b
=
new
TreeSet
();
如果你的
YourType
沒有實現
Comparable
介面就會報錯。

閱讀全文

與java返回值泛型相關的資料

熱點內容
pythonclass使用方法 瀏覽:221
移動加密軟體去哪下載 瀏覽:281
php彈出alert 瀏覽:207
吉林文檔課件加密費用 瀏覽:131
感測器pdf下載 瀏覽:284
隨車拍app綁定什麼設備 瀏覽:896
方維團購系統源碼 瀏覽:991
linux反彈shell 瀏覽:159
列印機介面加密狗還能用嗎 瀏覽:300
二板股票源碼 瀏覽:448
度人經pdf 瀏覽:902
怎麼配置android遠程伺服器地址 瀏覽:960
java程序員看哪些書 瀏覽:943
什麼app可以免費和外國人聊天 瀏覽:797
pdf手寫筆 瀏覽:182
別永遠傷在童年pdf 瀏覽:990
愛上北斗星男友在哪個app上看 瀏覽:421
主力散戶派發源碼 瀏覽:671
linux如何修復伺服器時間 瀏覽:61
榮縣優途網約車app叫什麼 瀏覽:479