Java,嵌套类:如何访问';更高';水平变量

Java,嵌套类:如何访问';更高';水平变量,java,list,Java,List,我运行此代码时出错 private class ValuesClass { List<Float> value; public void addv(String _value) { Float f = new Float(_value); this.value.add(f); } } 我不知道哪里出错了 必须实例化

我运行此代码时出错

   private class ValuesClass {

            List<Float> value;

            public void addv(String _value) {
                    Float f = new Float(_value);
                    this.value.add(f);
            }
    }

我不知道哪里出错了

必须实例化列表,否则
为空:

List<Float> value = new ArrayList<Float>;
列表值=新建ArrayList;

您必须实例化列表,否则
为空:

List<Float> value = new ArrayList<Float>;
列表值=新建ArrayList;

未初始化,因此为空

未初始化,因此为空

错误如下

 List<Float> value;
列表值;
解决

List<Float> value = new ArrayList<Float>();
List value=new ArrayList();
错误是这样的

 List<Float> value;
列表值;
解决

List<Float> value = new ArrayList<Float>();
List value=new ArrayList();

在调用
addv
之前,您是否在任何地方初始化了
列表值?对于给定的代码,它是空的

您可以按如下方式对其进行初始化:

List<Float> value = new ArrayList<Float>;

在调用
addv
之前,您是否在任何地方初始化了
列表值
?对于给定的代码,它是空的

您可以按如下方式对其进行初始化:

List<Float> value = new ArrayList<Float>;
试试这个

private class ValuesClass {

    List<Float> value;

    public void addv(String _value) {
        Float f = new Float(_value);
        if(this.value==null)
              this.value = new ArrayList<Float>();

        this.value.add(f);

    }
}
私有类值类{
列表值;
公共void addv(字符串_值){
浮动f=新浮动(_值);
if(this.value==null)
this.value=新的ArrayList();
本.增值(f);
}
}

私有类值类{
列表值=新的ArrayList();
公共void addv(字符串_值){
浮动f=新浮动(_值);
本.增值(f);
}
}
试试这个

private class ValuesClass {

    List<Float> value;

    public void addv(String _value) {
        Float f = new Float(_value);
        if(this.value==null)
              this.value = new ArrayList<Float>();

        this.value.add(f);

    }
}
私有类值类{
列表值;
公共void addv(字符串_值){
浮动f=新浮动(_值);
if(this.value==null)
this.value=新的ArrayList();
本.增值(f);
}
}

私有类值类{
列表值=新的ArrayList();
公共void addv(字符串_值){
浮动f=新浮动(_值);
本.增值(f);
}
}

使用惰性初始化方法更新了答案。使用惰性初始化方法更新了答案。此外,请参阅此链接了解惰性初始化实践:此外,请参阅此链接了解惰性初始化实践: