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

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

為什么這個 Function<List<Person>,String> 不起作用?

為什么這個 Function<List<Person>,String> 不起作用?

慕哥6287543 2023-04-13 17:10:08
我正在研究功能,我已經(jīng)嘗試過了Function<Person,String> byName = Person::getName;System.out.println( byName.apply(list.get(1)) );這有效并在索引 1 處打印了該人的姓名;但現(xiàn)在我想創(chuàng)建Function<List<Person>,String>以遍歷列表中的所有人Function<List<Person>,String> allNames = a -> a.forEach(e-> e.getName());System.out.println(allNames.apply(list));它拋出一個錯誤,因?yàn)椤皏oid cannot be converted to String”
查看完整描述

2 回答

?
qq_笑_17

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超7個贊

forEach()接受一個消費(fèi)者,該消費(fèi)者將一個函數(shù)應(yīng)用于每個元素。它不返回任何東西,所以你不能在調(diào)用中使用它System.out.println()。如果你覺得你想從 a返回一些東西,如果有必要,forEach()你很可能想要,然后調(diào)用。stream()map()

但是,更接近您的第一個示例,您可能想要調(diào)用forEach()您的列表,然后在每個元素上打印出該函數(shù)的結(jié)果:

Function<Person, String> byName = Person::getName;
list.forEach(e -> System.out.println(byName.apply(e.getName())));


查看完整回答
反對 回復(fù) 2023-04-13
?
富國滬深

TA貢獻(xiàn)1790條經(jīng)驗(yàn) 獲得超9個贊

功能包有這兩個功能接口

  1. 供應(yīng)商

  2. 消費(fèi)者

根據(jù)文檔->

如果 Supplier 什么都不帶,但會返回一些東西,請使用 Supplier。

如果 Consumer 需要一些東西,但不返回任何東西,請使用 Consumer。

以下片段解決了我的問題->

    Consumer<List<Person>> allNames = (a) -> a.forEach(e -> System.out.print(e.getName()+" "));
    allNames.accept(list);


查看完整回答
反對 回復(fù) 2023-04-13
  • 2 回答
  • 0 關(guān)注
  • 137 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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