在任何不平凡的软件项目中,错误都是生活中的事实。仔细的计划,编程和测试可以帮助降低其普遍性,但是无论如何,它们总会在某种程度上找到爬入您的代码的方法。随着新功能的引入以及代码库的大小和复杂性的增加,这一点变得尤为明显。
    幸运的是,某些错误比其他错误更容易发现。例如,可以在早期发现编译时错误;您可以使用编译器的错误消息找出问题所在,然后就可以在那里进行修复。但是,运行时错误可能会带来更多问题。它们并不总是立即浮出水面,而当它们浮出水面时,可能是在程序中与实际问题原因相去甚远的某个位置。
    通过泛型(**Generics**),在编译时检测到更多错误来增加代码的稳定性。完成本课程后,您可能需要继续阅读Gilad Bracha 的 Generics教程。