2012-01-26 53 views
0

我試圖創建浮點值的列表,但現在看來,這是不對的這樣: 編輯:如何創建列表<Float>?

public Supervisory() { 
    this.analogs = new ArrayList<Float>(); 
} 

public void active() { 
    try { 
     for (ObjectIdentifier oi : ois) { 

      if (oi.getObjectType().intValue() == 2){ 
       analogs.add(new Float(10)); 
      } 
     } 

    } catch (IOException ioe) { 
     throw new RuntimeException(ioe.getMessage()); 
    } catch (Exception ex) { 
     throw new RuntimeException(ex.getMessage()); 
    } 
} 

我最後的代碼,它只是一個片段給我的問題的想法。

這個實現有什麼問題?

+1

這是從你的代碼的確切的片段? –

+1

哪裏是decleration,哪裏是初始化?什麼是錯誤? –

+0

另外,爲什麼所有的答案都說要調用方法中的行?爲什麼不在構造函數中? –

回答

6

你需要把你的代碼的方法裏面,它不能只是漂浮在類:

public class MyClass { 
    private List<Float> analogs; 

    public void X() { 
     this.analogs = new ArrayList<Float>(); 
     analogs.add(new Float(10)); 
    } 
} 

或者在構造函數中:

public class MyClass { 
    private List<Float> analogs; 

    public MyClass() { 
     this.analogs = new ArrayList<Float>(); 
     analogs.add(new Float(10)); 
    } 
} 
+1

但是爲什麼我不能在構造函數中初始化'analogs'屬性? –

+0

你可以看看我的編輯。 – Tudor

+0

@Valter,你的代碼中的構造函數在哪裏? – shift66

3

地方這兩條線成方法

this.analogs = new ArrayList<Float>(); 
analogs.add(new Float(10)); 

analogs是類的字段和這些行後analogs的聲明來。