// given a set of Item objects, group them by the managers of creator and owners
Map<String, List<Item>> managersItems =
itemSet.parallelStream().flatMap(item -> {
// get the list of the creator and owners
List<String> users = new ArrayList();
users.add(item.getCreator());
users.addAll(item.getOwners());
return Stream.of(users.toArray(new String[] {})).map(user -> {
LdapUserInfo ldapUser = LdapUserInfoFactory.create(user);
String manager = ldapUser.getManager();
return new AbstractMap.SimpleImmutableEntry<String, Item(manager, item);
});
}).collect(
Collectors.groupingBy(Map.Entry::getKey, Collectors.mapping(Map.Entry::getValue, Collectors.toList())));
このコードは Eclipse Mars では正常にコンパイルされますが、Eclipse Luna では次のエラーが発生します。
Map<Object,List<Object>>
型の不一致: からに変換できませんMap<String,List<WeblabInfo>>
返された をEclipse Luna の with に割り当てないと、エラーは at Map
and statement with message:Map<String, List<Item>> managersItem =
Map.Entry::getKey
Map.Entry::getValue
タイプは、ここで適用できるものを
Map.Entry
定義していません。」getKey(Object)
私は何を間違えましたか?