第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

泛型類中的靜態(tài)方法?

泛型類中的靜態(tài)方法?

慕桂英3389331 2019-07-26 15:43:59
泛型類中的靜態(tài)方法?在Java中,我想有一些東西:class Clazz<T> {   static void doIt(T object) {     // shake that booty   }}但我明白了無法對非靜態(tài)類型T進行靜態(tài)引用我不了解基本用途之外的泛型,因此無法理解這一點。我無法在互聯(lián)網上找到有關該主題的更多信息,這沒有任何幫助。有人可以通過類似的方式澄清這種使用是否可行?另外,為什么我的原始嘗試不成功?
查看完整描述

3 回答

?
慕后森

TA貢獻1802條經驗 獲得超5個贊

您不能在靜態(tài)方法或靜態(tài)字段中使用類的泛型類型參數。類的類型參數僅在實例方法和實例字段的范圍內。對于靜態(tài)字段和靜態(tài)方法,它們在類的所有實例之間共享,甚至是不同類型參數的實例,因此顯然它們不能依賴于特定的類型參數。

看起來您的問題似乎不需要使用類的類型參數。如果您更詳細地描述您想要做的事情,也許我們可以幫助您找到更好的方法。


查看完整回答
反對 回復 2019-07-26
?
偶然的你

TA貢獻1841條經驗 獲得超3個贊

T在實例化類型之前,Java不知道是什么。

也許你可以通過調用來執(zhí)行靜態(tài)方法,Clazz<T>.doit(something)但聽起來你不能。

處理事物的另一種方法是將type參數放在方法本身中:

static <U> void doIt(U object)

哪個不能讓你對U有正確的限制,但它總比沒有好....


查看完整回答
反對 回復 2019-07-26
?
慕村9548890

TA貢獻1884條經驗 獲得超4個贊

我遇到了同樣的問題。我通過Collections.sort在java框架中下載源代碼找到了我的答案。我使用的答案是將<T>泛型放在方法中,而不是放在類定義中。

所以這有效:

public class QuickSortArray  {
    public static <T extends Comparable> void quickSort(T[] array, int bottom, int top){//do it}}

當然,在閱讀了上面的答案后,我意識到如果不使用泛型類,這將是一個可接受的替代方案:

public static void quickSort(Comparable[] array, int bottom, int top){//do it}


查看完整回答
反對 回復 2019-07-26
  • 3 回答
  • 0 關注
  • 2825 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號