2013-02-12 21 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