为什么方法引用不是单例?
在 Java 中,以下代码在两个查询上都返回 false。为什么?方法引用是单例不是更简单吗?这肯定会使附加和分离侦听器变得更加简单。由于您需要为需要检查等价性的任何方法引用保持常量,因此不能在每个必要的位置仅使用方法引用运算符。
public class Main {
public Main() {
// TODO Auto-generated constructor stub
}
public void doStuff() {
}
public static void main(String[] args) {
Main main = new Main();
Runnable thing1 = main::doStuff;
Runnable thing2 = main::doStuff;
System.out.println(thing1 == thing2); // false
System.out.println(thing1.equals(thing2)); // false
}
}