如何在Java中使用带原始返回或参数类型的函数?

use*_*874 1 generics functional-programming java-8

在Java 8中,有一个类似于函数指针(java.util.function.Function)的功能.它通常像这样使用:Function<LookupKey,LookupResult>但是,如果方法返回基本类型则存在问题.Function<ArgType,Void.TYPE>不起作用,它无法编译一个非常混乱的错误消息("找不到符号Void.TYPE").我宁愿避免更改我的方法返回一个Object只是为了传递null作为结果.

Har*_*ezz 9

如果您的函数不应返回值,请考虑使用Consumer<T>.

如果你的函数应该返回ìntlong考虑使用ToIntFunction<T>ToLongFunction<T>返回原始类型.

最后,如果您需要使用基本类型但想要返回引用类型,请使用IntFunction<T>LongFunction<T>.

若要完成列表:IntToLongFunction,LongToIntFunction,IntUnaryOperatorLongUnaryOperator支持原始类型被消耗并返回.