Java泛型主要有“定義泛型類(lèi)”、“定義泛型接口”、“定義泛型方法”、”實(shí)例化泛型類(lèi)或接口“、“使用通配符”和“使用泛型限定”六種用法:1、定義一個(gè)泛型類(lèi),使用來(lái)表示類(lèi)型參數(shù);2、定義一個(gè)泛型接口,使用來(lái)表示類(lèi)型參數(shù);3、定義一個(gè)泛型方法,使用來(lái)表示類(lèi)型參數(shù);4、在實(shí)例化一個(gè)泛型類(lèi)或接口時(shí),指定具體的類(lèi)型參數(shù);5、使用通配符來(lái)表示某個(gè)泛型類(lèi)型的子類(lèi)型或超類(lèi)型。
Java泛型主要有以下幾種用法:
可以定義一個(gè)泛型類(lèi),使用
public class MyList<T> { private T[] array; public MyList(T[] array) { this.array = array; } public T get(int index) { return array[index]; } }
可以定義一個(gè)泛型接口,使用
public interface MyInterface<T> { T doSomething(); }
可以定義一個(gè)泛型方法,使用
立即學(xué)習(xí)“Java免費(fèi)學(xué)習(xí)筆記(深入)”;
public <T> T doSomething(T param) { // ... }
在實(shí)例化一個(gè)泛型類(lèi)或接口時(shí),必須指定具體的類(lèi)型參數(shù),例如:
MyList<String> list = new MyList<>(new String[]{"a", "b", "c"});
可以使用通配符來(lái)表示某個(gè)泛型類(lèi)型的子類(lèi)型或超類(lèi)型,包括?、? extends T和? super T三種形式,例如:
MyList<? extends Number> list1 = new MyList<>(new Integer[]{1, 2, 3}); MyList<? super Integer> list2 = new MyList<>(new Number[]{1.0, 2.0, 3.0});
其中,list1可以接受任何類(lèi)型是Number的子類(lèi)型(如Integer、Float等)作為元素,而list2可以接受任何類(lèi)型是Integer的超類(lèi)型(如Number、Object等)作為元素。
可以使用泛型限定來(lái)限制類(lèi)型參數(shù)的范圍,包括extends和super兩種形式,例如:
public <T extends Number> void doSomething(T param) { // ... }
其中,
以上就是Java泛型的用法的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
java怎么學(xué)習(xí)?java怎么入門(mén)?java在哪學(xué)?java怎么學(xué)才快?不用擔(dān)心,這里為大家提供了java速學(xué)教程(入門(mén)到精通),有需要的小伙伴保存下載就能學(xué)習(xí)啦!
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://www.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)