Java 函数Guava在单个对象上应用函数
这看起来很简单,但我没有找到一个解释,说明如何在单个对象上应用函数形式的GuavaAPI 例如,我有以下函数Java 函数Guava在单个对象上应用函数,java,guava,Java,Guava,这看起来很简单,但我没有找到一个解释,说明如何在单个对象上应用函数形式的GuavaAPI 例如,我有以下函数 Function<Integer, Integer> powerOfTwo = new Function<Integer, Integer>() { @Override public Integer apply(Integer input) { return (int) Math.pow(input, 2); } }; F
Function<Integer, Integer> powerOfTwo = new Function<Integer, Integer>() {
@Override
public Integer apply(Integer input) {
return (int) Math.pow(input, 2);
}
};
Function powerOfTwo=新函数(){
@凌驾
公共整数应用(整数输入){
返回(int)Math.pow(输入,2);
}
};
我想把它应用到
整数i=6
我该怎么做
在谓词上相同如何在单个对象上进行谓词只需调用函数。应用
。
定义一种方法的方法:
T apply(F input)
您的powerOfTwo
只是一个实现功能的接口
谓词
也是如此
注意,在Java 8中,有一个和lambdas,您的代码变成:
Function<Integer, Integer> powerOfTwo = i -> i * i;
你问我也可以戴链子吗?。答案是Java 7,不是。因为Guava函数
接口
只定义了一个方法,所以它无法提供该功能。您需要使用实用程序类来实现多个功能:
Function<Integer, Integer> composed = Functions.compose(powerOfTwo, powerOfTwo);
甚至:
Function<Integer, Integer> composed = powerOfTwo.compose(i -> i + 2);
Function composed=powerOfTwo.compose(i->i+2);
只需调用函数。应用。
定义一种方法的方法:
T apply(F input)
您的powerOfTwo
只是一个实现功能的接口
谓词
也是如此
注意,在Java 8中,有一个和lambdas,您的代码变成:
Function<Integer, Integer> powerOfTwo = i -> i * i;
你问我也可以戴链子吗?。答案是Java 7,不是。因为Guava函数
接口
只定义了一个方法,所以它无法提供该功能。您需要使用实用程序类来实现多个功能:
Function<Integer, Integer> composed = Functions.compose(powerOfTwo, powerOfTwo);
甚至:
Function<Integer, Integer> composed = powerOfTwo.compose(i -> i + 2);
Function composed=powerOfTwo.compose(i->i+2);
只需调用函数。应用。
定义一种方法的方法:
T apply(F input)
您的powerOfTwo
只是一个实现功能的接口
谓词
也是如此
注意,在Java 8中,有一个和lambdas,您的代码变成:
Function<Integer, Integer> powerOfTwo = i -> i * i;
你问我也可以戴链子吗?。答案是Java 7,不是。因为Guava函数
接口
只定义了一个方法,所以它无法提供该功能。您需要使用实用程序类来实现多个功能:
Function<Integer, Integer> composed = Functions.compose(powerOfTwo, powerOfTwo);
甚至:
Function<Integer, Integer> composed = powerOfTwo.compose(i -> i + 2);
Function composed=powerOfTwo.compose(i->i+2);
只需调用函数。应用。
定义一种方法的方法:
T apply(F input)
您的powerOfTwo
只是一个实现功能的接口
谓词
也是如此
注意,在Java 8中,有一个和lambdas,您的代码变成:
Function<Integer, Integer> powerOfTwo = i -> i * i;
你问我也可以戴链子吗?。答案是Java 7,不是。因为Guava函数
接口
只定义了一个方法,所以它无法提供该功能。您需要使用实用程序类来实现多个功能:
Function<Integer, Integer> composed = Functions.compose(powerOfTwo, powerOfTwo);
甚至:
Function<Integer, Integer> composed = powerOfTwo.compose(i -> i + 2);
Function composed=powerOfTwo.compose(i->i+2);
我也可以链接吗?你的确切意思是什么?假设我想对结果应用另一个函数。类似于Fluentitable.from(mylist).filter(新filter1()).filter(新filter2())@你的意思是作曲。这是通过组合函数
和函数
来创建函数的时候。在任何情况下,您提到的所有功能(Function
,fluentiable
)都被Java 8完全取代;我建议你学习这一点,因为学习过时的技术很少有成效。我知道,但我正在使用Java 7而不是Java 8进行项目,当然我会使用lambda表达式,如果我可以,我也可以使用chain?你的确切意思是什么?假设我想对结果应用另一个函数。类似于Fluentitable.from(mylist).filter(新filter1()).filter(新filter2())@你的意思是作曲。这是通过组合函数
和函数
来创建函数的时候。在任何情况下,您提到的所有功能(Function
,fluentiable
)都被Java 8完全取代;我建议你学习这一点,因为学习过时的技术很少有成效。我知道,但我正在使用Java 7而不是Java 8进行项目,当然我会使用lambda表达式,如果我可以,我也可以使用chain?你的确切意思是什么?假设我想对结果应用另一个函数。类似于Fluentitable.from(mylist).filter(新filter1()).filter(新filter2())@你的意思是作曲。这是通过组合函数
和函数
来创建函数的时候。在任何情况下,您提到的所有功能(Function
,fluentiable
)都被Java 8完全取代;我建议你学习这一点,因为学习过时的技术很少有成效。我知道,但我正在使用Java 7而不是Java 8进行项目,当然我会使用lambda表达式,如果我可以,我也可以使用chain?你的确切意思是什么?假设我想对结果应用另一个函数。类似于Fluentitable.from(mylist).filter(新filter1()).filter(新filter2())@你的意思是作曲。这是通过组合函数
和函数
来创建函数的时候。在任何情况下,您提到的所有功能(Function
,fluentiable
)都被Java 8完全取代;我建议您研究一下,因为学习过时的技术很少有成效。我知道,但我正在使用Java 7而不是Java 8进行项目,如果可以的话,我会使用lambda表达式