java – 集合vs列表vs数组作为EJB方法的返回类型

最近我被告知,收集应优先于List作为EJB方法的返回值.争论是,一般来说,集合是更通用的,即允许您更改基础数据结构而不影响客户端.如果这是设计人员想要拥有的灵活性,那么使用集合会更有意义.但是,返回只是一个数组而不是集合是不是更有意义?

什么是性能影响?

提前致谢.

解决方法

>优选数组集合;使用泛型
>使用接口而不是具体的类

那么你通常有4个选项:List,Set,Collection和Iterable.在那里它取决于你想要包含什么语义.

>如果它是一个内部API – 根据集合的特征来决定它:

>它只持有唯一的项目?组
客户端需要随机访问吗?名单
>客户端需要修改它(添加,删除)(没有上述两个特征)?采集
客户只需要迭代呢?可迭代

>如果它是一个Web服务,这并不重要 – 它是以相同的方式序列化的.

(注意:有一些具有更具体语义的集合接口:Queue,Deque,Map,Bag,Multiset等 – 但是当您需要返回它们时,它将是相当明显的)

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...