我需要设置一个变量,但我也需要它是最终的.

EGH*_*HDK 1 java android final

在下面的代码中,第一个if语句抱怨current_guy不能是a,final但第二个if语句抱怨current_guy不是最终的.我没有想法.

final int current_guy=0;

if (a.equals("bf")){
   current_guy=1;
}

guy1.setOnClickListener(new OnClickListener() {    
   public void onClick(View v) {

   if (current_guy==1) {
      // TODO Auto-generated method stub
   }
}
Run Code Online (Sandbox Code Playgroud)

chi*_*fet 8

final int current_guy = a.equals("bf") ? 1 : 0;
Run Code Online (Sandbox Code Playgroud)

  • @EGHDK考虑一下:`final int current_guy = DetermineCurrentGuy(a);`被调用的方法可以做任何想做的事情 - 并且`current_guy`将被赋予一次返回值. (2认同)