java - Java 中的原始函数接口(interface)

标签 java functional-programming

我想在给定的原始函数接口(interface)中返回 double 类型值:

  DoubleFunction<double> db1=(x)-> x+2;         
  System.out.println(db1.apply(23.6));

这给了我一个错误,但下面的代码是正确的:

  DoubleFunction<String> db1=(x)-> x +" is now a String";         
  System.out.println(db1.apply(23.6));

我想知道为什么泛型类型应该是String? 谁能给我一个在原始函数接口(interface)中返回 int/double 的例子?

最佳答案

泛型总是与类一起使用,所以使用

DoubleFunction<Double>
//             ^ mean class , you can't use primitive 

For further reading Generics

关于java - Java 中的原始函数接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47578450/

相关文章:

r - 获取作为参数传递给函数的函数名称

lambda - 如何使用 Java 1.8 和 Spring 5 以函数式编程风格重写返回空 Mono 对象的逻辑

functional-programming - OCaml 中表示图最常用的数据结构是什么?

java 从字符串中获取键码

java - PageParameters导致Page的onConfigure被多次调用

java - 如何在java中构造scala.collection.immutable.List对象

java - 另一个类中的 Action 监听器 - java

C++ std::function 参数 const 引用

module - 为什么 F# 函数在调用之前先求值?

java - 通过覆盖属性文件来保存状态