我有一个方法,比如说ClassA
。我想将 ClassB 中的方法作为参数传递给 ClassA 中的该方法。在本例中,我想传递来自 ClassB
的 getCode
方法。我没有任何 ClassB
实例,并且我希望无需创建实例即可实现此目的。
我尝试过使用简单的方法引用,但它不起作用。 我也不想将 getCode 设为静态方法。
public class ClassA {
public void validate() {
Validation validation = new Validation(ClassB::getCode, code);
//...
}
}
我的最终目标是拥有一个 RequestValidator 类,其中添加验证,每个验证都将使用特定方法和其构造函数中的字符串创建,在本例中是来自 classB 和代码的 getCode。请注意,我只需要一个 RequestValidator 实例。像这样的事情:
RequestValidator validator = new RequestValidator<>()
.addValidation(new Validation(ClassB::getCode, code))
.addValidation(new Validation(ClassB::getName, name));
最佳答案
getCode 需要是静态函数,语法为 ClassB.getCode。您需要将 ClassB 导入到 ClassA 中。
参见:
关于java - 如何将一个方法作为参数传递给另一个方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56530189/