Java 动态铸造。类卡斯特例外

Java 动态铸造。类卡斯特例外,java,dynamic,casting,classcastexception,Java,Dynamic,Casting,Classcastexception,大家= 我想用绳子把这条路加倍 Class.forName("java.lang.Double").cast("100") 但它引发了ClassCastException: 这个怎么了?我怎样才能实现我想要的 不能强制转换字符串Double。如果要获取字符串的双精度表示,可以: Double d = new Double("100"); 或 实际上,你是在试图用一根弦来像这样翻倍 String s = "100"; Double d = (Double)s; 你不能那样做。这就是您的Cla

大家= 我想用绳子把这条路加倍

Class.forName("java.lang.Double").cast("100")
但它引发了ClassCastException: 这个怎么了?我怎样才能实现我想要的

不能强制转换字符串Double。如果要获取字符串的双精度表示,可以:

Double d = new Double("100");


实际上,你是在试图用一根弦来像这样翻倍

String s = "100";
Double d = (Double)s;
你不能那样做。这就是您的ClassCastException的原因


您需要使用

,因为它是错误的,这就是为什么会出现错误的原因-所以不要这样做,请阅读API,因为它会告诉您这一点。而是通过Double.parseDouble解析字符串。我知道这一点,但我不能使用它,因为我不知道在编译时需要转换成什么类型。你能更具体一点吗?输入字符串的可能值是什么?您将在哪里存储结果?你为什么需要这个?@Tror:你也不能用你凭空编出来的东西,比如试着把绳子抛到双人床上。那你为什么不告诉我们你的问题的所有要求和相关细节呢?否则,我们几乎没有机会帮助您。@特罗:请更新您的原始问题,并提供任何必要的信息,以便其他人能够理解您的问题。我知道这一点,但我不能使用它,因为我不知道在编译时需要转换成什么类型。我想知道我们是否应该神奇地猜测他的需求和约束是什么。
String s = "100";
Double d = (Double)s;