![](/img/trans.png)
[英]What is the difference between ArrayList al = new ArrayList(); and ArrayList al = new ArrayList(0)?
[英]What is the difference between “new ArrayList<ClassName>()” and “new ArrayList<>()” when constructing an ArrayList?
這是一個具體的例子:
ArrayList<String> x = new ArrayList<String>();
ArrayList<String> y = new ArrayList<>();
兩種方法似乎都可以正常工作。 有什么區別?
沒有區別,我可以稱它為新功能。
我們必須在Java 7之前指定type參數:
ArrayList<String> x = new ArrayList<String>();
從Java 7開始,我們可以使用Diamond:
ArrayList<String> y = new ArrayList<>();
這是不同的,Java的設計師希望使其變得更容易。
構造時:
new ArrayList<>();
您要告訴編譯器從左側Infer
類型。
現在:
new ArrayList<String>();
明確聲明您打算使用的類型。
如果我還記得我以前的編程類,那是一個新版本的Java中添加的語法糖功能的示例。 Java實例化y時會推斷出您的String類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.