java - 我该如何做方法的ArrayList?

标签 java

用java可以实现吗?

void aaa(){}

ArrayList<Method> list = new ArrayList<Method>();
list.add(aaa);

如果不是,我如何实现方法(函数)的集合。
我想通过ID获取一些方法。

最佳答案

你可以这样做:

interface VoidFunction {
    void evaluate();
}

...

List<VoidFunction> list = new ArrayList<>();

VoidFunction aaa = new VoidFunction() {
    @Override
    public void evaluate() {
        aaa();
    }
}

list.add(aaa);
<小时/>

在 Java 8 中,这应该更容易、更好:

List<Consumer<Void>> list = new ArrayList<>();

Consumer<Void> aaa = () -> {...};

list.add(aaa);

(我相信我的语法是正确的)

如果您已经将 aaa 方法定义为常规方法,您将能够执行以下操作:

list.add(MyClass::aaa);

关于java - 我该如何做方法的ArrayList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19322471/

相关文章:

java - 在圆形/圆形布局内显示 map

java - 当我添加 "this"时,递归初始化程序有效吗?

java - Android onConfigurationChanged() 未在 Activity 中调用

java - 使用 Java KeyEvent 使动画正常工作

java - bean 的 @Configuration 命名规则是什么?

java - 您如何使用带有 apache commons httpclient 的 NTLM 身份验证以编程方式对 Web 服务器进行身份验证?

java - 为什么使用 JAX-RS 与 JAX-RS 时浏览器中的下载弹出窗口不显示标准servlet?

java - 找不到符号thread.sleep。

java - Spring 启动: Disable fetch of PersistentBag programatically

java - 为什么我会收到 NumberFormatException?