public class Books{
ArrayList<String> booksDB = new ArrayList<String>();
booksDB.ensureCapacity(200000); //Compilation Errors
}
このコードが (上から下へ) 順次実行されているという印象を受けるかもしれませんが、そうではありません。あなたがしているのは、のbooksDB
すべてのインスタンスBooks
が運ぶという名前のプライベート インスタンス フィールドを作成することです。
new
ほとんどの場合、そのコードを Books コンストラクター (のインスタンスが作成されるたびに呼び出されます) に入れたいと思いますBooks
。次のことを試してください。
public class Books {
private ArrayList<String> booksDB; // this is a field of the Books class
// when we create a new Books instance, we will initialize the booksDB field
public Books() {
booksDB = new ArrayList<String>();
booksDB.ensureCapacity(20000);
}
}
次に、次のように使用します。
public class Main {
public static void main(String[] args) {
Books b = new Books(); // the Books object is constructed, and its private field booksDB is initialized as we specified.
}
}