gpt4 book ai didi

java - 将函数作为参数从一个类传递到另一个类

转载 作者:行者123 更新时间:2023-12-01 15:08:18 24 4
gpt4 key购买 nike

我有一个名为 HelloWorld 的类,在其中创建 Class Test test = new Test(); 的对象

然后在 HelloWorld 类中我有我的主要功能和另一个:

public static int passMe(){
System.out.println("running this function");
return 1;
}

这是我试图传递的函数。我使用以下方法通过了 int 测试:

test.getSomeFunction(new Callable<Integer>(){
public Integer call(){
return passMe();
}
});

在测试类中我有:

    public void getSomeFunction(Callable<Integer> someFunction){
System.out.println(someFunction);
}

现在所有这些都有效,但是 passMe() 没有运行,而是我不知道如何引用它。如果我打印出 someFunction,我得到:

"HelloWorld$1@35a8767"

所以我的问题是如何运行我传入的函数,如果我执行 someFunction() ,我会收到错误消息“he method someFunction() is undefined for the type Test”

最佳答案

    try {
Integer result = callable.call();
} catch (Exception e) {
throw new IllegalStateException(e);
}

必须处理异常,因为它是由 Callable definition 强制执行的.

请注意,您传递的不是 passMe 函数,而是可以调用它的可调用对象。

关于java - 将函数作为参数从一个类传递到另一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12669491/

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