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

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

如何讓更精確類(lèi)型的消費(fèi)者作為不太精確類(lèi)型的消費(fèi)者傳入?

如何讓更精確類(lèi)型的消費(fèi)者作為不太精確類(lèi)型的消費(fèi)者傳入?

一只萌萌小番薯 2022-03-10 21:43:20
我有以下兩個(gè)功能接口:IndexBytePairConsumer.javapackage me.theeninja.nativearrays.core;@FunctionalInterfacepublic interface IndexBytePairConsumer {    void accept(long index, byte value);}IndexIntPairConsumer.javapackage me.theeninja.nativearrays.core;@FunctionalInterfacepublic interface IndexIntPairConsumer {    void accept(long index, int value);}我也有以下方法:public void forEachIndexValuePair(IndexBytePairConsumer indexValuePairConsumer) {    ...}有什么方法可以允許IndexIntPairConsumer在上述方法中傳遞一個(gè)(因?yàn)檎麛?shù)的消費(fèi)者可以接受字節(jié))?我需要在方法簽名中使用原語(yǔ)而不是關(guān)聯(lián)的類(lèi),例如Integerand Byte,因此任何抽象都變得更加困難。
查看完整描述

2 回答

?
烙印99

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

這是我為你發(fā)明的。


定義


public interface IndexBytePairConsumer {

    void accept(long index, byte value);

}


public interface IndexIntPairConsumer extends IndexBytePairConsumer {

    default void accept(long index, byte value) {

        this.accept(index, (int) value);

    }


    void accept(long index, int value);

}

你可以使用它


IndexIntPairConsumer c = (a,b)->{

    System.out.println(a + b);

};

forEachIndexValuePair(c);


forEachIndexValuePair((a, b) -> {

    System.out.println(a + b);

});


查看完整回答
反對(duì) 回復(fù) 2022-03-10
?
森欄

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

在不更改類(lèi)型層次結(jié)構(gòu)的情況下(例如,此答案中建議的方式),適應(yīng)步驟是不可避免的,因?yàn)镮ndexBytePairConsumer它們IndexIntPairConsumer是兩種不同的類(lèi)型。最小的適應(yīng)步驟是


// given

IndexIntPairConsumer consumer = …


// call as

forEachIndexValuePair(consumer::accept);

正如您在問(wèn)題中所說(shuō),int 的使用者可以接受字節(jié),因此acceptan的方法是預(yù)期IndexIntPairConsumeran 的方法引用的有效目標(biāo)。IndexBytePairConsumer


查看完整回答
反對(duì) 回復(fù) 2022-03-10
  • 2 回答
  • 0 關(guān)注
  • 146 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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