给定两个类A
和B
一个参数构造函数和一个二进制函数f
,我需要解析形式的字符串
"f(A(10), B(20))"
"f(A(2), A(3))"
创建适当的实例并调用相应的函数:
class Functions {
public static double f(A a1, A a2);
public static double f(A a, B b);
public static double f(B b1, B b2);
// ...
}
所以我正在寻找的是一种方法
T createInstanceFromString(String desc);
从“A(10)”或“B(20)”等字符串创建实例。当然,不幸的是,这在 Java 中是不可能的。
非常感谢有关此问题的解决方案的任何建议。
编辑:我忘了提到可能有大量不同的类A
、、B
等C
以及大量的函数f
、g
等等。我想用它createInstanceFromString
来将解析与调用分开,否则必须有条件地单独解析对于每个函数调用,都会带来大量的代码重复。
Edit2:问题不在于如何解析,而在于如何解析然后以通用方法/工厂/其他方式返回实例。