我已经编码了这个:
this.referenceService.get(id)
.map(Reference::hashCode)
.map(Integer::toString);
我收到这个编译错误:
模糊的方法引用:Integer类型的toString()和toString(int)都符合条件
我怎么能解决这个问题?
你有两种可能的解决方案:
用lambda替换它:
this.referenceService.get(id)
.map(ref-> Integer.toString(ref.hashCode()));
使用Object. toString()
this.referenceService.get(id)
.map(Reference::hashCode)
.map(Objects::toString); // this will cal toString method on you hash
编写自己的方法:
this.referenceService.get(id)
.map(this::toHashString);
private Strign toHashString(Reference ref) {
return Integer.toString(ref.hashCode());
}