簡體   English   中英

具有通用類型變量List的類

[英]class with generic type variable List

我正在閱讀有關泛型類型的信息。 我能夠理解,泛型類型可用於指定對象或集合可以使用的內容類型,以避免運行時錯誤並僅在編譯時解決它。

我想知道如何創建其類型變量(T = List)為List的泛型類。 例如,在下面的示例中,它的字符串。

import java.util.ArrayList;
import java.util.List;

public class Test<T> {

    T string;

    public Test(T in) {

        this.string = in;

    }

    public static void main(String args[]) {

        Test<String> o = new Test<String>("Generic");


    }
}

我想知道如何創建其類型變量(T = List)為List的泛型類。

List指定為參數化類型。

要擁有List<String>的通用測試,例如:

List<String> myList = new ArrayList<>();
...
Test<List<String>> o = new Test<>(myList);

如果您希望您的列表嚴格是字符串列表。 然后只需將您的列表聲明為List<String>

通過這種方式,開發人員有義務使用屬於Collection es的類(List,ArrayList,Vector等)。

public class Test<T extends Collection>{ ... }

更新

public class Test<E,T extends Collection<E>>{ ... }

只需像聲明List的擴展一樣聲明您的T即可:

public class Test<T> {

對此

public class Test<T extends List> {

在這種情況下,您將無法編寫以下代碼:

Test<String> o = new Test<String>();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM