java - 动态类型转换 : Class and String to Comparable

标签 java dynamic casting dynamic-cast

不要试图用语言来表达我的问题,这里有一些代码演示了我想要做的事情:

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/

相关文章:

C++ 强制转换运算符重载和多态性

c++ - 在遗留代码上规避 RTTI

java - Spring Multi-Tenancy - 在不重启的情况下添加新租户(使用 AbstractRoutingDataSource)

java - Gradle无法建立,查找或加载主类

java - 如何将字符串数组的元素添加到字符串数组列表中?

c# - 如何将动态对象转换为类型并进行比较

java - BigDecimal 的类型转换

java - Java 应用程序的安全桌面模式效果

javascript - 将类添加到动态添加的元素

c# - 解析动态数据