gpt4 book ai didi

java - 将方法作为参数传递给另一个方法

转载 作者:行者123 更新时间:2023-11-29 04:21:15 25 4
gpt4 key购买 nike

我想做这样的事情:

public class Myclass() {
ArrayList<Object> objects;

public Myclass() {
this.objects = new ArrayList<>();
}
public ArrayList<Object> callObjectAndMethod(Method method, String string) {
ArrayList<Object> returnlist = new ArrayList<>();
// call method for given object reference. I also assume that return value of the method is String
String output = object.method();
for (Object object : this.objects) {
if (object.method.contains(string)) {
returnlist.add(object.method());
}
return returnlist;
}

}

是否可以将方法作为参数传递给另一个方法?我也想对多种变量类型进行这种迭代。 int,String,double 有没有办法创建适用于多种输入类型的方法。 (可能不是)但我只是想减少我必须写的行数。如果我为我想要比较的所有方法或使用复制粘贴技术并更改一些小东西(这不好)写这个东西,我将有很多东西要写。

最佳答案

您可以使用 java-8 函数式编程。它允许使用 Function Interfaces 来创建称为 lambda 表达式 的实现。这些 lambda 表达式可以作为变量传递给其他方法。例如

Predicate isLengthTen = string -> string.length() == 10;

现在这可以作为参数传递给任何方法。因此,您基本上可以使用 Java 8 函数式编程将代码作为参数传递。

boolean testTruth(Predicate<T> predicate,T dataUnderTest){
predicate.test(dataUnderTest);
}

希望对您有所帮助!

快速阅读有关如何使用的信息是 here

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

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