簡體   English   中英

Java:創建 object 並直接添加到 ArrayList - 兩種方式

[英]Java: Creating an object and adding straight into ArrayList - two ways

對創建對象的一些基本概念有一些麻煩。 在下面的代碼中,我創建了一個 [person] object,然后將其添加到 [persons] arraylist。 它工作正常。

ArrayList<Person> persons = new ArrayList<>();
Person person = new Person(name, age);
persons.add(person);

但是,如果我嘗試做類似的事情:

persons.add(Person person = new Person(name, age));

由於某種原因它不起作用。

另一方面,如果我這樣做:

        persons.add(new Person(name, age));

它有效,我認為在我的錯誤嘗試中做 Person 初始部分有什么問題嗎? 可能與聲明對象有關,但我不太確定不包括它的原因是什么?

Person person = new Person(name, age);

是一個語句(它不能用作表達式,它不返回任何值),而

person = new Person(name, age)

是一個表達式語句,可用於賦值和返回值

persons.add(person = new Person(name, age));

讀書:

https://docs.oracle.com/javase/specs/jls/se13/html/jls-14.html#jls-14.5

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM