2013-02-12 230 views
0
public class example 
{ 
    public ArrayList<Integer> ToFill = new ArrayList<>(); 

    public void Alter(int Value , int Position) 
    { 
     ToFill.get(Position) = Value ; // this line has an error 
    } 
} 

由于某些原因,此代码给编译错误,任何人都可以解释为什么?意外的类型所需的变量找到值

回答

7

ToFill.get(Position)返回一个值,其中赋值的左侧必须是变量。相反,使用set(index, element)如下:

ToFill.set(Position, Value); 

但是,你在做什么是唯一有效的,如果你正在使用的阵列,例如:

Integer[] array = ... 
array[Position] = Value; 

作为一个侧面说明,总是使用Java命名约定:

  • toFill,而不是ToFill
  • alter而不是Alter
  • position而不是Position
  • value而不是Value
+1

+1正确答案和注释。 – 2013-02-12 14:14:39