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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

collection.add(()->7); 中 ()-> 的功能是什么?

collection.add(()->7); 中 ()-> 的功能是什么?

九州編程 2023-09-13 10:53:01
我知道這將是今天 Stackoverflow 上的蹩腳問題......但我仍然想在 java 中找到以下代碼片段的功能理想情況下,我們應(yīng)該將“Scoreable Scoreable”對象傳遞給 collection.add 但 this ()->5 是什么?以及如何將 int 值轉(zhuǎn)換為 Scoreable 類型public class ScoreCollectionTest {    public void addTwoNumbersForMean() {        ScoreCollection collection = new ScoreCollection();        collection.add(()->5);        collection.add(()->7);    }}public class ScoreCollection {    private List<Scoreable> scores = new ArrayList<>();    public void add(Scoreable scoreable) {        scores.add(scoreable);    }    public int arithmeticMean() {        int total = scores.stream().mapToInt(Scoreable::getScore).sum();        return total / scores.size();    }}這是Scoreable界面public interface Scoreable {     int getScore(); } 
查看完整描述

2 回答

?
梵蒂岡之花

TA貢獻1900條經(jīng)驗 獲得超5個贊

collection.add(()->5);是一個語法糖:


collection.add(new Scoreable() {


  @Override

  int getScore() {

    return 5;

  }

});

由于 Scoreable 只有一個方法,因此它符合 a 的資格@FunctionalInterface,并且可以在 lambda 表達式中使用,而不是在匿名類中使用


查看完整回答
反對 回復(fù) 2023-09-13
?
拉丁的傳說

TA貢獻1789條經(jīng)驗 獲得超8個贊

不知道 Scoreable 是什么,我假設(shè)它是一個帶有一種方法的接口(該方法的名稱無關(guān)緊要),該方法不接受任何參數(shù)并返回一個整數(shù)。

編譯器將其解釋為函數(shù)式接口(因為它滿足函數(shù)式接口的所有要求),并且()->5是始終返回 5 的無參數(shù)方法的 lambda 表達式。


查看完整回答
反對 回復(fù) 2023-09-13
  • 2 回答
  • 0 關(guān)注
  • 133 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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