Java 如何引用数组中的类?

Java 如何引用数组中的类?,java,Java,我有一个问题,我觉得很难解释,但我会尽我最大的努力 我想知道是否有任何方法可以将类存储在数组中,或者对数组中的类进行某种引用。我想做一些像这样的事情 array[3].run(); 但我被困住了,不知道该怎么办。目前我使用的是一种混乱的方法,就像这样 public static void methodName(String s) { if(s.equals("string")) String.run(); if(s.equals("int")) Integer.run(); }

我有一个问题,我觉得很难解释,但我会尽我最大的努力

我想知道是否有任何方法可以将类存储在数组中,或者对数组中的类进行某种引用。我想做一些像这样的事情

array[3].run();
但我被困住了,不知道该怎么办。目前我使用的是一种混乱的方法,就像这样

public static void methodName(String s) {
    if(s.equals("string")) String.run();
    if(s.equals("int")) Integer.run();
}

我不喜欢这样,因为它很乱,我觉得一定有更好的办法。有?我想做的是可能的吗?

如果它们不是内置类,那么所有这些类都可以实现
可运行的
。然后您可以将它们全部放入
Runnable[]
数组中

大概是这样的:

class MyClass1 implements Runnable { /* code here */ }
class MyClass2 implements Runnable { /* code here */ }

Runnable[] runnables = { new MyClass1(), new MyClass2() };

for (Runnable runnable : runnables)
  runnable.run();

如果它们不是内置类,为什么不实现
Runnable
?然后你可以把它们都放在
Runnable[]
数组中。@VenkataRaju你能告诉我怎么做吗?简单而优雅+1.不过我做了一个更改,我没有使用runnable接口,而是用一些自定义方法创建了自己的接口。@Hamish现在用Java 8方法处理,即使自定义方法也可以与现有接口一起工作。只要方法输入参数匹配
,例如String str=“Hello”;Runnable[]rs={str::toUpperCase,str::length}