Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 函数Guava在单个对象上应用函数_Java_Guava - Fatal编程技术网

Java 函数Guava在单个对象上应用函数

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

这看起来很简单,但我没有找到一个解释,说明如何在单个对象上应用函数形式的GuavaAPI

例如,我有以下函数

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表达式