首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

未见得是好习惯:方法的返回类型用List,而不是ArrayList

2012-08-28 
未必是好习惯:方法的返回类型用List,而不是ArrayList如果你使用java超过一年,你可能会这样定义方法的签名:

未必是好习惯:方法的返回类型用List,而不是ArrayList
如果你使用java超过一年,你可能会这样定义方法的签名:

List getList(){  List list = new ArrayList();  ...  return list; }


也就是说,你会让方法返回抽象的List,而不是具体的ArrayList, 这样你可以获得比较强的封装性。

然而,这种强封装同时意味着损失了一定的信息量。 当客户端拿这个list对象时,它不知道这个list是不是modifiable的,也不知道执行list.get(n)的时间复杂度是O(1) (链表)、还是O(n) (数组)。

所以,当有必要向客户端透露返回值的特性时,直接用具体类型会更好些:
ArrayList getList(){  ArrayList list = new ArrayList();  ...  return list; }

热点排行