覆盖匿名类的tostring

hey*_*Now 2 java static final tostring inner-classes

我想覆盖列表中每部电影的标题.
我试图制作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;
  } 
}
}
Run Code Online (Sandbox Code Playgroud)

ars*_*jii 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;
        } 
    });
}
Run Code Online (Sandbox Code Playgroud)

您无法生成x static- static修饰符仅用于类的数据字段(或方法).此外,x确实必须final允许toString匿名类的方法访问它.