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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

通用參數(shù)可重用性

通用參數(shù)可重用性

幕布斯7119047 2023-06-28 15:47:12
我有兩種不同的方法public static void printRoutes(List<Optional<String>> routes) {    for (int i = 0; i < routes.size(); i++) {        if(routes.get(i).isPresent()) {            System.out.println("Output #" + (i+1) + ": "+routes.get(i).get());和public static void printRoutes(List<Optional<Integer>> routes) {    for (int i = 0; i < routes.size(); i++) {        if(routes.get(i).isPresent()) {            System.out.println("Output #" + (i+1) + ": "+routes.get(i).get());正如你所看到的,它們基本上是相同的,只是參數(shù)類型不同。由于我只是打印它們,這意味著使用“.toString()”方法,我認(rèn)為應(yīng)該有一種方法可以對(duì)兩者使用相同的方法。我試過public static void printRoutes(List<Optional<T super Object>> lengths) 和public static void printRoutes(List<Optional<T extends Object>> lengths) 但還是不行,請(qǐng)問有什么辦法嗎?或者在這種情況下你不能使用泛型。
查看完整描述

2 回答

?
回首憶惘然

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊

您需要聲明類型參數(shù)T;并且super Objectorextends Object是不必要的:

public?static?<T>?void?printDistances(List<Optional<T>>?lengths)


查看完整回答
反對(duì) 回復(fù) 2023-06-28
?
白衣非少年

TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個(gè)贊

它們可以是任何東西,所以你可以寫:

public static void printDistances(List<? extends Optional<?>> lengths)

這是

public static void printDistances(List<? extends Optional<? extends Object>> lengths)

因?yàn)橐磺卸祭^承自Object.

請(qǐng)注意,這也不需要引入通用參數(shù)。


查看完整回答
反對(duì) 回復(fù) 2023-06-28
  • 2 回答
  • 0 關(guān)注
  • 191 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)