参见英文答案 >
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替换原则的一个例子吗?
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。