【发布时间】:2014-03-10 00:59:16
【问题描述】:
我想将一个字符串映射到一个 Java 类。 例如,我想定义我的 Main 类,使其按以下方式工作:
$ java Main SayHello
Hello!
$ java Main SayBye
Bye!
$ java Main SayHola
Error: No such class exists
这里是代码。
public class Main {
public static void main(String[] args) {
// Call args[0].say()
}
}
public class SayHello {
public static void say() {
System.out.println("Hello!");
}
}
public class SayBye {
public static void say() {
System.out.println("Bye!");
}
}
我知道我可以通过手动将 args[0] 的每个可能值映射到 Java 类来做到这一点,例如:
if (args[0].equals("SayHello")) {
SayHello.say();
}
但是有没有办法自动做到这一点?
【问题讨论】:
-
我建议你使用Factory(或Builder)。