文章詳情頁
java中<T> T和T的區(qū)別?
瀏覽:111日期:2023-11-30 13:49:48
問題描述
為什么會(huì)報(bào)錯(cuò)?first不就是T類型嗎?還有<T> T和T有什么區(qū)別?
問題解答
回答1:如果你希望 getMax 方法的返回值類型為 T,就要這樣去定義getMax方法:
public T getMax()
如果你希望 getMax 方法返回值的類型由調(diào)用者決定,那么就這么去定義 getMax 方法:
public <A> A getMax() { //... return (A)result;}
這里的 A ,一定不能與類名聲明的 T 是同個(gè)字母。
簡而言之,你說的 T 和 <T> T 根本是兩種不同的用途。
回答2:你應(yīng)該把第二個(gè)<T>去掉.<T> 是定義泛型 T是使用泛型你需要了解泛型類和泛型方法
出現(xiàn)原因類上的<T>和方法上的<T>不應(yīng)重復(fù)出現(xiàn),不然會(huì)認(rèn)為是在方法上重新定義了泛型.
標(biāo)簽:
java
相關(guān)文章:
1. dockerfile - [docker build image失敗- npm install]2. 關(guān)于docker下的nginx壓力測試3. nignx - docker內(nèi)nginx 80端口被占用4. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?5. java - 阿里的開發(fā)手冊中為什么禁用map來作為查詢的接受類?6. python3.x - git bash如何運(yùn)行.bat文件?7. docker網(wǎng)絡(luò)端口映射,沒有方便點(diǎn)的操作方法么?8. macos - mac下docker如何設(shè)置代理9. dockerfile - 為什么docker容器啟動(dòng)不了?10. 在windows下安裝docker Toolbox 啟動(dòng)Docker Quickstart Terminal 失敗!
排行榜

熱門標(biāo)簽