26. 不要使用原始类型

避免ClassCastException,提早的发现不必要的错误

27. 消除非检查警告

能够有效的保证代码的类型安全

28. 列表优于数组

数组是协变的(协变:如果Son是Parent的子类型,则数组Son[]是数组Parent[]的子类型)。

29. 优先考虑使用泛型

使用泛型比使用强制类型转换更加安全且易用

30. 使用限定通配符来增加API的灵活性

31. 优先使用泛型方法

32. 使用限定通配符来增加API的灵活性

可以为泛型设置上限和下限

33. 优先考虑类型安全的异构容器

总结:

  • 可以统一数据类型,便于操作
  • 将运行时的异常提前到了编译时,提早发现错误
  • 避免类型强制转换
  • 实现代码的模块化,把数据类型当作参数传递,提高了可重用性