不要试图用语言来表达我的问题,这里有一些代码演示了我想要做的事情:
Class cls = Double.class
String str = "31.4";
Comparable comparableObj null;
comparableObj = (Comparable) cls.cast(str);
有什么想法吗?我考虑过使用反射,但没有成功。
最佳答案
我真的不喜欢你想要做的事情,但这是我对你的代码的修改,以便它编译和运行:
Class [] domains = { Integer.class, Double.class, String.class };
String [] stringValues = { "12", "31.4", "dog" };
Comparable [] comparableObjects = { null, null, null };
for (int i = 0; i < domains.length; i++) {
Constructor con = domains[i].getConstructor(String.class);
comparableObjects[i] = (Comparable) con.newInstance(stringValues[i]);
System.out.println(comparableObjects[i]);
}
打印:
12
31.4
dog
如果您用文字解释您想要实现的目标,这可能会有所帮助,那么您可能会得到更多帮助,以更好的方式实现这一目标。
关于java - 动态类型转换 : Class and String to Comparable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3134898/