2

リスト内の各映画のタイトルを上書きしたい。
静的で最終的なものにしようとしましxたが、コンパイラが文句を言います。

List<Movie> mList = new ArrayList<Movie>();

for(int i = 0; i < 5; i++)
{
int x;
mList.add(new Movie(){


  toString(){

   // need an easy way to give a unique string to each movie here.
   return "Movie" + x;
  } 
}
}
4

1 に答える 1

6

これは機能するはずです:

List<Movie> mList = new ArrayList<Movie>();

for (int i = 0 ; i < 5 ; i++) {
    final int x = i;  // or anything else, but you must assign it some value
    mList.add(new Movie() {
        @Override
        public String toString(){
            return "Movie" + x;
        } 
    });
}

作成することはできませんx static-static修飾子はクラスのデータフィールド(またはメソッド)でのみ使用されます。さらに、匿名クラスのメソッドがそれにアクセスできるようにするx必要があります。finaltoString

于 2012-09-24T02:18:26.697 に答える