java emptylist_Java之Collections.emptyList()、emptySet()、emptyMap()的作用和好处以及要注意的地方...
先說(shuō)明一下好處有哪些:
1,如果你想 new 一個(gè)空的 List ,而這個(gè) List 以后也不會(huì)再添加元素,那么就用 Collections.emptyList() 好了。
new ArrayList() 或者 new LinkedList() 在創(chuàng)建的時(shí)候有會(huì)有初始大小,多少會(huì)占用一內(nèi)存。
每次使用都new 一個(gè)空的list集合,浪費(fèi)就積少成多,浪費(fèi)就嚴(yán)重啦,就不好啦
2,為了編碼的方便。
比如說(shuō)一個(gè)方法返回類型是List,當(dāng)沒(méi)有任何結(jié)果的時(shí)候,返回null,有結(jié)果的時(shí)候,返回list集合列表。
那樣的話,調(diào)用這個(gè)方法的地方,就需要進(jìn)行null判斷。使用emptyList這樣的方法,可以方便方法調(diào)用者。返回的就不會(huì)是null,省去重復(fù)代碼。
注意的地方:
這個(gè)空的集合是不能調(diào)用.add(),添加元素的。因?yàn)橹苯訄?bào)異常。因?yàn)樵创a就是這么寫的:直接拋異常。
哦,Collections里面沒(méi)這么寫,但是EmptyList繼承了AbstractList這個(gè)抽象類,里面簡(jiǎn)單實(shí)現(xiàn)了部分集合框架的方法。
這里面的add方法最后調(diào)用的方法體,就是直接拋異常。
throw new UnsupportedOperationException();
這么解釋add報(bào)異常就對(duì)啦。
總結(jié)
以上是生活随笔為你收集整理的java emptylist_Java之Collections.emptyList()、emptySet()、emptyMap()的作用和好处以及要注意的地方...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java 单例 实现_java 实现单例
- 下一篇: java顺序栈和链栈_Java的顺序栈和