本着最佳实践的精神:总是返回一个____,从来没有____,我在即将从JDK1.4.2迁移到JDK5等等时遇到了类似的问题.(是的,我知道,JDK1.4.2是EOL! ;-)).
对于返回集合的函数(不是简单的属性集合),我总是更喜欢(在JDK1.4.2中)返回一个Array而不是一个通用的List,因为:
MyObject[]而不是对象列表,更多类型安全的静态 - 如'编译' - 级别)当然,我总是创建这个返回的数组(我没有公开任何'内部'数组)
现在,在JDK5及更多版本中,List<MyObject>如果我愿意,我可以使用它.
选择返回MyObject[]而不是List或Collection<MyObject>在java5中编码时有什么好理由?
如果Collection<MyObject>使用奖金,可以:
add()或remove()可能)PS:JavaGenericFAQ没有那个.