对于List或ArrayList之类的类型,不应进行任何编译,并且应将List提升Code返回到接口。
如果这是通过诸如CopyOnWriteArrayList之类的并发包进行的,并且您使用的是addIfAbsent之类的方法(未在List接口中定义),您将发现自己受到限制。
因此,如果您为此返回ArrayList或任何具体的实现,则可以使用未在合同(
List接口)中定义的API
,但是在将特定实现更改为其他实现(从
ArrayList到
linkedList)时,您将受到限制,因为每个人都在使用您的API必须根据您的更改进行更改,我认为这太过期望了。



