![]() |
1
17
JLS makes no promises 关于从方法引用表达式中得到的内容的同一性或相等性。 您可以运行快速测试:
但这当然取决于实现。
你
能够
做你的羔羊
|
![]() |
2
7
试试这个就知道答案:
答案是…不幸的是没有。
当然,如果您保持相同的引用(即,相同的对象),它将起作用;但是,如上例所示,如果您请求两个lambda,尽管它们看起来是相同的,但它们永远不会相等。
因此
对于构造函数(例如arraylist::new)和未绑定方法(例如object::tostring),答案也是否定的。似乎每次使用lambda表达式时都会构造一个新的lambda。
正如@hitobat所指出的那样,如果你想一想lambdas到底是什么以及它们是从哪里来的,那么这种不好的品质是有意义的。基本上,
|
|
user29759326 · 如何返回递归函数中的最后一个值? 6 月前 |
|
malife89 · 将java中的字符串读取为正确的日期格式 6 月前 |
![]() |
Tim · 在java中,有没有更快的方法将字节数组写入文件? 7 月前 |
![]() |
rudraraj · java中未声明最终变量 7 月前 |
![]() |
Bala Ji · 以下BFS的实施效率如何? 7 月前 |