适用范围
类可以从泛型中受益,静态工具API更适合泛型
Collections 的算法方法都已泛型化(如binarySearch、sort)
优势示例
- 例1:精简API
代码所示是一个简单的设置字体的Util的static API的泛型化代码;
如果不是使用这种泛型化的API,则需要为TextView的扩展类(Button、CheckBox等等)编写数不清的函数
- 例2:确保类型安全的情况下提升API的易用性
可以看到上面的API可以轻易的操作所有以View为基类的类的集合;
- 例3:类级别的泛型化
在配合集合使用时需要注意类型cast的警告,这些警告实际上是编译时不会有问题,但真正在运行时可能会抛出ClassCastException,我们在实际项目中应该将这些潜在的威胁清除掉;
对于十分确定不会出问题的类型操作API上,可以用@SuppressWarning(“unckecked”)消除这类警告
get
赶紧用起来吧,你的小伙伴会爱上你写的极简API的
源码里的代码有很多写的极好的点,同学们平时可以扒一扒