IntFunction <String>和Function <Integer,String>

汤姆:

我有以下两个简单的代码:

IntFunction<String> f1 = Integer::toString;
Function<Integer, String> f2 = Integer::toString;

我认为这两个定义都是正确的,并且等同地是同一件事,但是第二个定义存在编译错误,抱怨说 Required Function<Integer, String>,but Method Reference is found.

他们是 :

第二个方法参考是模棱两可的:

两种static方法

public static String toString(int i)

和实例方法

public String toString()

适用。

如果使用lambda表达式编写第二个赋值,则可以看到可以使用两种方法:

Function<Integer, String> f2 = i -> Integer.toString (i);

要么

Function<Integer, String> f2 = i -> i.toString ();

当您分配时Integer::toString,编译器无法确定您所指的是哪种方法。

另一方面IntFunction<String>,仅public static String toString(int i)适用于。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Haskell中将String和integer写入stdout

RestAssured:发布同时具有String和Integer的json请求

带有参数String和Integer的JSP表单提交

如何读取并将Integer,Double和String保存到变量?

在迭代和ArrayList <String>时如何在HashMap <String,ArrayList <Integer >>中存储值?

在Java中,诸如IntFunction和LongFunction之类的特殊接口有什么作用?

流<String>到Map <String,Integer>

是否有可能以任何方式覆盖等于和比较Integer和String类的方法?

具有单个参数的Java方法是否可以接收HashMap <String,Integer>和HashMap <Long,Integer>的值?

Redis缓存Map <Integer,String>

Integer('string')调用的内部工作?

Ada将Integer与String连接

string []和[string]之间的区别

String [] a和String ... a之间的区别

如何区分@string和@@ string?

List<string> 和 string[] WCF?

将<String,String>映射到TreeMap <Integer,String>

泛型List <String>和List <Integer>的行为不符合预期

存储Integer和array [String]值的最佳数据结构是什么?

Localizable.strings 适用于 String,但不适用于 Double 和 Integer 32

为什么与Integer.valueOf(String)进行==比较会得出127和128的不同结果?

通常应用解决方案以从同时包含String和Integer的对象数组中获取值

在while循环中将String和Integer添加到不同的ArrayList

将字符串转换为 VKCode:不兼容的类型:'Integer' 和 'string'

Php apply function in array if next entry is integer (Concatenate a valid FEN string)

string[] 和 [string,string,string] 有什么区别

Map<Integer,Integer> 类型中的 put(Integer, Integer) 方法不适用于参数 (String, Integer)

RxJava或F#函数[List <String>到Map <Integer,String>],其中Integer是String更改的位置

比较TCHAR和String