首页 > 解决方案 > 具有类实例的 Setter 这可能吗?

问题描述

    private int Li_WtVal;
        List <Integer> ValueList = new ArrayList<Integer>();
        CsReader csReader = new CsReader();    

      public void setLi_WtVal(int li_WtVal) {
                ValueList = csReader.GetAllcsValues();
                li_WtVal = ValueList.get(0);
       }
    public int getLi_WtVal() {
        return Li_WtVal;
    }
}

而且我里面有一个while循环我正在调用setter和getter但是evrytime它返回0。

public int CtrlWeight(String CodeLine) {
        Scanner scanner = new Scanner(CodeLine);
        int Li_Wtcs = 0;
        while (scanner.hasNext()) {
            token1 = scanner.next();
            if (token1.contains("if")){
                setLi_WtVal(Li_WtVal);
                Li_Wtcs = Li_Wtcs + getLi_WtVal() ;
            }
        }

setter 里面可以有其他类实例和对象引用吗?

标签: javaclassgetter-setter

解决方案


您将值设置为参数而不是属性:

 public void setLi_WtVal(int li_WtVal) {
            ValueList = csReader.GetAllcsValues();
            Li_WtVal= ValueList.get(0);
   }
public int getLi_WtVal() {
    return Li_WtVal;

我认为原因是因为您对变量的命名很糟糕。

看起来你的代码也没什么用。


推荐阅读