一些代碼片段:Java 8可選和flatMap - 出錯了?
public class Player {
Team team;
String name;
}
public class Team {
List<Player> players;
}
public class Demo {
@Inject
TeamDAO teamDAO;
@Inject
PlayerDAO playerDAO;
List<String> findTeamMatesNames(String playerName) {
Optional<Player> player = Optional.ofNullable(playerDAO.get(playerName));
return player.flatMap(p -> teamDAO.findPlayers(p.team))
.map(p -> p.name)
.orElse(Collections.emptyList());
}
}
爲什麼我沒有能夠做到這一點?在flatMap方法,我得到錯誤「類型不匹配:不能從列表轉換爲可選的」
我的目標是:
如果可選的是目前我想在此基礎上可選的對象屬性的產品清單
如果選不存在我要回空列表
你會得到什麼錯誤? – talex 2014-10-08 08:53:15
你會得到什麼錯誤?那麼teamDAO.finPlayers是什麼? – user2504380 2014-10-08 08:53:22
'findTeamMatesNames'中的'team'來自哪裏? – coolcfan 2014-10-08 08:54:22