参见英文答案 >
Do Collections.unmodifiableXXX methods violate LSP? [closed] 4个
Arrays.asList(..)返回数组的List包装器.此包装器具有固定大小,并由数组直接支持,因此对add()或其他尝试修改列表的函数的调用将抛出UnsupportedOperationException.
Arrays.asList(..)返回数组的List包装器.此包装器具有固定大小,并由数组直接支持,因此对add()或其他尝试修改列表的函数的调用将抛出UnsupportedOperationException.
开发人员经常对此感到惊讶,这从stackoverflow中的问题可以看出.
然而,根据Liskov替换原则(LSP),List接口有一个add()方法,对于List的所有派生应该不出所料.
Arrays.asList()返回的类型是违反Liskov替换原则的一个例子吗?