性能问答>【已结算】一道 Java 面试题【赏金15元】>
5回复
2年前

【已结算】一道 Java 面试题【赏金15元】



关于程序员对 Java 类型系统的理解,比较高级的一个面试问题是这样:
public static void f() {
String[] a = new String[2];
Object[] b = a;
a[0] = “hi”;
b[1] = Integer.valueOf(42);
}
这段代码里面到底哪一行错了?为什么?如果某个 Java 版本能顺利运行这段代码,那么如何让这个错误暴露得更致命一些?
注意这里所谓的「错了」是本质上,原理上的,而不一定是 Java 编译器,IDE 或者运行时报给你的。也就是说,你用的 Java 实现,IDE 都可能是错的,没找对真正错误的地方,或者没告诉你真正的原因。
如果你知道哪里错了,并且知道「为什么」错了,可以联系我。嘿嘿,大家一起来研究一下啊,活跃一下社区气氛,嘻嘻。
【赏金领取规则及入口】
麻烦大家关注【Heapdump性能社区】公众号,及时接收信息!

1117 阅读
请先登录,查看5条精彩评论吧
快去登录吧,你将获得
  • 浏览更多精彩评论
  • 和开发者讨论交流,共同进步