java - Java中的函数指针数组

标签 java arrays pointers function

<分区>

我已阅读 this question而且我仍然不确定是否可以在 Java 的数组中保留指向方法的指针。如果有人知道这是否可能(或不可能),那将是一个真正的帮助。我正在尝试找到一种优雅的解决方案来保留 String 和相关函数的列表,而无需编写数百个困惑的 if 语句。

干杯

最佳答案

Java 本身没有函数指针(或 C# 术语中的“委托(delegate)”)。这种事情往往是用匿名子类来完成的。

public interface Worker {
  void work();
}

class A {
  void foo() { System.out.println("A"); }
}

class B {
  void bar() { System.out.println("B"); }
}

A a = new A();
B b = new B();

Worker[] workers = new Worker[] {
  new Worker() { public void work() { a.foo(); } },
  new Worker() { public void work() { b.bar(); } }
};

for (Worker worker : workers) {
  worker.work();
}

关于java - Java中的函数指针数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2752192/

相关文章:

java - Android Java - 可运行的困惑

java - 如何在不使用预制类的情况下在 Java 中创建可扩展动态数组?

c++ - 加密给定的文本字符串 - 凯撒密码

c - 在链表中插入元素到列表中最大元素之后

c - C 中的指针和数组引用

java - Angular 6 访问 REST 失败,Access-Control-Allow-Origin

java - Spring 启动 : config in "additional-location" was overrided by "application-{profile}"

jQuery.Ajax 对数组数据发出错误的请求

c++ - 使用 .txt 文件中的数据填充数组,但将不在文本文件中的数字添加到数组

c++ - 为什么在这种情况下需要指针?