首页 > 代码库 > 容器深入研究

容器深入研究

1. 如果一个操作是未获支持的,那么实现接口的时候就会导致UnsupportedOperationException异常。最常见的未获支持的操作,都来源于背后大小固定,不可更改的数据结构支持的容器。比如:Arrays.asList()方法产生的的List。任何会引起List的大小发生变化的操作(比如add,clear)等,都会得到异常。因此,我们可以把Arrays.asList()的结果作为构造器的参数传递给任何Collection(或者使用addAll()方法,或Collections.addAll()静态方法),这样可以生成允许使用所有方法的普通容器类。
2. 拥有未获支持的操作的“常量”容器,一般都是通过代理实现,只要执行任何试图修改容器的操作,代理都会产生UnsupportedOperationException异常。因此,检查未获支持的操作,只能运行期检查。

容器深入研究