为什么此代码段不会出现Java Tutorials文档中所述的运行时错误?
public class Box { private Object object; public void set(Object object) { this.object = object; } public Object get() { return object; } } 参考官方Java教程文档和上面的代码片段中的这篇文章,我试图重现运行时错误.我的代码有什么问题,因为它没有产生任何运行时错误?
我写的代码. public class Box { private Object obj; public void set(Object obj) { this.obj = obj; } public Object get() { return obj; } public static void main(String [] args) { Box g = new Box(); System.out.println(g.get()); g.set("hello again"); System.out.println(g.get()); } } 解决方法public static void main(String[] args) { Box g = new Box(); g.set("hello again"); Integer i = (Integer) g.get(); System.out.println(i + 1); } 此代码传入String,但尝试检索Integer.编译器无法检测到这将失败.在运行时它会抛出ClassCastException. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |