ToIntFunction<String> i = (x)-> Integer.parseInt(x);
System.out.println(i.applyAsInt("21235"));
上面是 TointFunction 的一个示例,其中 T 是字符串类型。
我还可以将哪些其他类型传递给它,因为根据定义它接受通用类型 T
。
除字符串之外的其他类型的任何其他示例。
最佳答案
功能界面ToIntFunction<T>
只是一个接口(interface),没有任何实现。 T
type 应替换为您实现此接口(interface)的任何类型。您不能对各种未知类型的所有对象范围使用唯一的实现。
这适用于您定义的字符串:
ToIntFunction<String> i = (x) -> Integer.parseInt(x);
您已替换 T
与 String
,该函数除了 String
没有讨论并返回 Integer
。如果您希望其他类型具有相同的功能,请实现它:
ToIntFunction<List<?>> i1 = list -> list.size(); // A primitive example:
i1.applyAsInt(new ArrayList<>()); // gets size of any List
ToIntFunction<MyObject> i2 = myObject -> myObject.getNumber(); // A custom object
i2.applyAsInt(new MyObject());
重点是,任何类型都可以用一个简单的规则替换:实现必须保证 Integer
无论如何,结果都是如此。
关于java - 我可以将哪种类型的参数传递到 JAVA 8 中的 ToIntFunction 功能接口(interface)中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51457265/