Java 无法从流转换<;对象>;不为人知
在尝试使用MapfromLambdas功能时,我一直面临“无法将对象流转换为未知”的问题 代码段:Java 无法从流转换<;对象>;不为人知,java,eclipse,Java,Eclipse,在尝试使用MapfromLambdas功能时,我一直面临“无法将对象流转换为未知”的问题 代码段: List<Address> addresses = infoContactDetails.getAddresses().stream() .filter(address -> address.getAddressType().equalsIgnoreCase("Test")) .map(address -> a
List<Address> addresses = infoContactDetails.getAddresses().stream()
.filter(address -> address.getAddressType().equalsIgnoreCase("Test"))
.map(address -> address.getAddressType().equalsIgnoreCase("Test")
? null
: requestContactDetails.getAtThisAddressSince() ? null : address)
.collect(Collectors.toList());
列表
此代码可以重构:
这一行是多余的,因为您已经在上面的一行中进行了此筛选:
.map(地址->地址.getAddressType().equalsIgnoreCase(“测试”)
这与requestContactDetails.getAtThisAddressSince()
的情况相同,它不会在流中添加任何值,并且您在执行之前就知道它的值。因此,最后它可以这样编写:
List addresses=requestContactDetails.getAtThisAddressSince()
?新建ArrayList():
infoContactDetails.getAddresses().stream()
.filter(地址->地址.getAddressType().equalsIgnoreCase(“测试”))
.collect(Collectors.toList());
这对我来说编译得很好。显然你做错了什么。另外,不要映射null,你的gunna过得不好。我映射null只是为了让发布它看起来更简单……你使用的是哪个版本的JDK??Java 8。什么是infoContactDetails?我打赌这是一个对象列表。更新你的JDK 8 btw,更新到JDK 8 update 200+。什么是requestContactDetails?问题是STS版本。升级后就解决了