gpt4 book ai didi

java - 为什么我们必须使用双冒号来引用方法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:13:42 25 4
gpt4 key购买 nike

比如为什么我可以写这行

Character[] c = Arrays.sort(list.toArray(new Character[list.size()]))

但是在我阅读有关方法引用的文档时,他们告诉我使用 :: 代替?它与 . 运算符的作用不一样吗?

我不知道上面的代码是否可以编译,因为我是在我的手机上输入的。把它当作一个松散的例子。

最佳答案

双冒号运算符是Java8新提供的运算符。它是一种语法糖,告诉编译器根据调用该方法的上下文生成一个 lambda。这使得一些 lambda 表达式的事情变得更容易一些。在 Java8 之前,此运算符不存在,不,它与点 (.) 运算符不同。例如:

Math.max(4, 6) // Calls Math.max with the arguments 4 and 6
Math::max // A reference to the max method in the java.lang.Math class

如果需要一些额外的阅读(虽然这些东西都处于 Beta 阶段并且尚未正式发布)尝试 http://docs.oracle.com/javase/tutorial/java/javaOO/methodreferences.html

关于java - 为什么我们必须使用双冒号来引用方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20599579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com