JDK 11:新的默认收集方法toArray(IntFunction)
“ JDK 11 Early-Access發(fā)行說明 ”表明JDK 11的Early Access Build 20在Collection接口上包括一個新的默認方法 ,該方法 “允許將集合的元素轉移到所需運行時類型的新創(chuàng)建的數(shù)組中”。 這個新的默認方法 [ Collection.toArray(IntFunction) ]與Stream接口[ Stream.toArray(IntFunction) ]上已經可用的同名方法類似。
下一個代碼清單演示了這個新的JDK 11默認Collection方法的實際作用(在本例中為Set )。
final Set<String> names = Set.of("Fred", "Wilma", "Barney", "Betty"); out.println(Arrays.toString(names.toArray(String[]::new)));因為我使用的(無序的) 設置的,順序String生成的陣列以s可以比的順序不同String小號被用于初始化指定Set 。 在下一個屏幕快照中對此進行了演示(該快照還表明本示例使用的是JDK 11 Early Access Build 23 )。
我們中的許多人比數(shù)組更頻繁地使用Java集合,但是有時候我們需要將這些集合轉換為數(shù)組。 默認方法Collection.toArray(IntFunction)提供了一種非常方便的機制。 Collecton [ Collection.toArray(T []) ]上已經存在類似的方法,并且這兩個方法的存在意味著不再可以將null傳遞給Collection.toArray(-)方法(編譯器無法區(qū)分它們和將報告錯誤消息“對toArray的引用不明確”)。 付出的代價不大,因為在將null傳遞給它們時,兩個方法都將拋出NullPointerException 。
翻譯自: https://www.javacodegeeks.com/2018/07/jdk-11-new-default-collection-method.html
總結
以上是生活随笔為你收集整理的JDK 11:新的默认收集方法toArray(IntFunction)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 光荣特库摩手游《莱丝蕾莉安娜的炼金工房~
- 下一篇: linux进程守护工具(linux 进程