從文體上講,在構造函數中或在聲明字段的位置初始化Java字段會更好嗎?例如:內聯或在構造函數中初始化字段
public class Foo {
private final List<String> l;
public Foo() {
this.l = new LinkedList<String>();
}
}
...或
public class Foo {
private final List<String> l = new LinkedList<String>();
}
我也通常青睞,因爲它似乎更清楚的是前者。但是,後者顯然會導致代碼更緊湊。
[最佳實踐:初始化構造函數或聲明中的類字段?]的可能的重複?(http://stackoverflow.com/questions/24551/best-practice-initialize-class-fields-in-constructor-or-at - 聲明) – 2012-03-21 11:23:30
前者對我來說很好,因爲只有在創建對象時纔會初始化您的列表。 – sgowd 2012-03-21 11:23:44
雖然在第二種情況下也是如此。 – aioobe 2012-03-21 11:26:02