[英]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.