method-reference相关内容

Java传递方法作为参数

我正在寻找一种通过引用传递方法的方法.我知道 Java 不会将方法作为参数传递,但是,我想获得替代方法. 有人告诉我接口是将方法作为参数传递的替代方法,但我不明白接口如何通过引用充当方法.如果我理解正确,接口只是一组未定义的抽象方法.我不想发送每次都需要定义的接口,因为几个不同的方法可以使用相同的参数调用相同的方法. 我想要完成的事情与此类似: public void setAllC ..
发布时间:2021-11-25 11:35:26 Java开发

Java传递方法作为参数

我正在寻找一种通过引用传递方法的方法.我知道 Java 不会将方法作为参数传递,但是,我想获得替代方法. 有人告诉我接口是将方法作为参数传递的替代方法,但我不明白接口如何通过引用充当方法.如果我理解正确,接口只是一组未定义的抽象方法.我不想发送每次都需要定义的接口,因为几个不同的方法可以使用相同的参数调用相同的方法. 我想要完成的事情与此类似: public void setAllC ..
发布时间:2021-11-19 22:48:00 Java开发

Java 8 数组构造函数引用如何工作?

假设我们有一个 IntFunction 类型的变量,它返回一个整数数组: IntFunction一世; 使用 Java 8 泛型,可以使用这样的构造函数引用来初始化这个变量: i = int[]::new Java 编译器如何将其转换为字节码? 我知道对于其他类型,例如 String::new,它可以使用一个 invokedynamic 指令指向 String 构造函数 java/l ..
发布时间:2021-11-18 03:58:14 Java开发

空变量不会使方法引用无效

当我使用绑定到变量 dog 的方法引用时,为什么代码不会抛出 NullPointerException,我后来将 null 分配给了该变量? 我使用的是 Java 8. import java.util.function.Function;类狗{私人食物= 10;公共 int 吃(int num){System.out.println("吃" + num);this.food -= num ..
发布时间:2021-06-10 18:50:24 Java开发

与lambda的方法参考差异

我了解到方法参考中有4种类型.但是我不理解" 引用静态方法 "和" 引用特定对象的实例方法"之间的区别输入 ". 例如: 列表周=新的ArrayList();week.add("Monday");week.add(“星期二");week.add("Wednesday");week.add(“星期四");week.add(“星期五");week.add("Saturda ..
发布时间:2021-05-28 20:08:34 Java开发

为什么此Java 8方法参考进行编译?

我目前正在更深入地研究 Java 8 功能,例如Lambda和方法引用.玩一会儿,使我进入了以下示例: 公共类ConsumerTest {私有静态最终String [] NAMES = {"Tony","Bruce","Steve","Thor"};公共静态void main(String [] args){Arrays.asList(NAMES).forEach(Objects :: requ ..
发布时间:2021-05-18 20:23:36 Java开发

如何知道Stream.toArray(Book [] :: new);数组有多少个元素,"Book [] :: new"的实现在哪里

我试图理解方法引用,但是我不知道如何使用此"Book [] :: new"它可以创建一个 具有正确数量的元素的数组. Book[] arrayBook = stBooks.toArray(Book[]::new); 为了在使用第二个和第三个选项时创建数组,我必须指定一个功能接口 会收到一个Int并返回一个新的数组. 但是,在第一个选项中,我不知道实现在哪里以及您在哪里指定数字或 具 ..
发布时间:2021-02-11 18:40:38 Java开发

通过方法参考了解编译时错误

根据文档,方法参考绝对不是静态调用.它适用于静态和非静态方法. 当我们在给定的类中定义自己的非静态方法并尝试使用“方法引用"使用它时,在Function情况下看不到编译时错误“无法对非静态方法进行静态引用",而在情况下才看到供应商,消费者和谓词.为什么会这样? class Demo{ private Function p= Student::get ..
发布时间:2021-02-10 18:59:27 Java开发