8

入力された文字列を使用してかなり標準的なコードを書きましたArrayListが、実行しようとすると、次のエラーが発生します。

error: size has private access in ArrayList.

コードは次のとおりです。

System.out.println(testedArticles.size);
4

2 に答える 2

15

のプライベート メンバにアクセスしようとしています。ArrayList内部作業の一部であり、外部で使用することは想定されていません。

arraylist のサイズを取得する場合は、次のメソッドが必要です。

arraylist.size()

どうしてこうなった

これにより、ArrayListクラスは任意の方法でサイズを保存できます。sizeおそらく を返すだけですか、しかし代わりに他の多くのことを行うことができます。たとえば、サイズを遅延して計算することができます。この場合、誰かが要求した場合にのみ計算され、その値が無効になるまで (オブジェクトが追加されるにつれて) 保存されます。これは、サイズの計算にコストがかかり (ここではほとんどありません)、頻繁に変更され、たまにしか呼び出されない場合に役立ちます。

于 2013-10-18T13:26:36.740 に答える
5

ArrayList.size.メソッドを使用する必要があるようなものはありません .size()

使用する必要があります

System.out.println(testedArticles.size());

それ以外の

System.out.println(testedArticles.size);
于 2013-10-18T13:27:56.653 に答える