八成 Java 开发者解答不了的问题
统计数据来自 Java “死亡”竞赛——一个针对开发者的迷你测验
几个月前,我们在一个小型网站上发布了一个称为 Java“死亡竞赛”的新项目。测验发布
后,超过 20000 位开发者 参加了 测验。网站以 20 道关于 Java 的多选题为主。我们得到了
众多开发者的测验统计数据,今天,我们非常乐意将其中的一些数据和 答案与你们分享。
我们从 20 个题目中得到了 61872 个答案,大约每个题目有 3094 个答案。每个 Java“死
亡”测验都会随机地从 20 个题目中抽取 5 个题目,然后每个题目 有 90 秒的时间作答。每
个问题有四个可能的选项。 经常有人向我们抱怨说这些题目太难了。 所以,我们的测验被称
为 Java“死亡”竞赛并不是没有理由的哦!从测验结果的统计数据中,我们能知道哪些问
题是最难的,哪些是最简单的。在这篇博客中,我想与你们分享 5 个从我们的测验中挑选
出的最难的问题,然后一起解决它们。
平均来看,开发者给出的答案中大约 41%是正确的,这个结果可一点不差。每个问题的索
引和它的作答统计结果可以从 这里得到。这篇博客所用的统计数据是在 7 月 26 日得到的。
从这里可以尝试我们的 Java“死亡”竞赛测验。
1、Java“死亡竞赛”中最难的问题
让我们 从最难啃的骨头开始吧。 这个问题由来自罗马尼亚首都布加勒斯特的
Alexandru-Constantin Bledea 提供。这个问题确实是一个脑筋急转弯,只有约 20%的参
与者答对这道题,这意味着瞎选都能提高你回答正确的概率。这道题是关于 Java 泛型的。
题目大意:
这段代码错在哪儿?
a.编译错误,因为没有 SQLException 被抛出
b.抛出 ClassCastException ,因为 SQLException 并不是 RuntimeException 的一个实例
c.没有错误,程序打印出抛出的 SQLException 堆栈跟踪信息
d.编译错误,因为我们不能将 SQLException 类型转换成 RuntimeException
好,我们能从题目中得到什么信息?题目中的泛型涉及到了类型擦除, 以及一些异常。 这里
需要回忆一些知识:
RuntimeException 和
题目/Java/测验/Exception/死亡/SQL/统计/开发者/数据/竞赛/
题目/Java/测验/Exception/死亡/SQL/统计/开发者/数据/竞赛/
-->