java双冒号 实例方法的引用转换例子
时间: 2023-06-08 09:06:18 浏览: 106
可以使用双冒号语法,将一个实例方法引用给定对象的方式作为一个lambda表达式来传递。例如:
```
// 定义一个函数式接口
interface FunctionInterface {
void doSomething(String value);
}
public static void main(String[] args) {
// 定义一个实例
MyClass myClass = new MyClass();
// 通过双冒号语法,将实例方法引用给定对象作为一个lambda表达式传递
FunctionInterface function = myClass::printValue;
// 调用lambda表达式
function.doSomething("Hello World!");
}
// MyClass类定义
class MyClass {
public void printValue(String value) {
System.out.println("Value is: " + value);
}
}
```
这个例子中,我们定义了一个函数式接口 `FunctionInterface`,该接口包含单一抽象方法 `doSomething`。我们通过双冒号语法将 `MyClass` 实例对象 `myClass` 的 `printValue` 方法引用给定对象,作为一个lambda表达式传递给 `function` 变量。最后,我们通过调用 `function.doSomething("Hello World!")` 来调用lambda表达式,并输出 "Value is: Hello World!"。
阅读全文