【问题标题】:Edit class in an array [Java]在数组中编辑类 [Java]
【发布时间】:2015-07-28 18:35:09
【问题描述】:

我当前的目标是能够拥有给定数量的类变量,但是一旦创建了类,我就无法编辑该类。

我目前拥有的:

List<Mammal> list = new ArrayList<Mammal>();
list.add(new TreeLemur());
list.set(i, TreeLemur.setAge(12));

Mammal 是 Lemur 的父函数,也就是 TreeLemur 的父函数。我不确定如何运行该代码的某些部分,例如:TreeLemur.setAge(12);

我很抱歉我的英语不好,任何帮助将不胜感激。

【问题讨论】:

    标签: java arrays list class arraylist


    【解决方案1】:

    为什么不在将它添加到 ArrayList 之前设置它的年龄:

    List<Mammal> list = new ArrayList<>();
    TreeLemur treeLemur = new TreeLemur();
    treeLemur.setAge(12);
    list.add(treeLemur);
    

    【讨论】:

      【解决方案2】:

      首先,从位置获取元素,然后设置新值。

        list.get(i).setAge(12);
      

      【讨论】:

        【解决方案3】:

        如果我没理解错,你想用它的方法修改 TreeLemur 实例,而不是 Mammal 的(例如,TreeLemur 的 setAge)。

        如果是这样,你可以这样做:

        Mammal mammal = list.get(i);
        if(mammal instanceof TreeLemur){
            TreeLemur lemur = (TreeLemur)mammal;
            lemur.setAge(12);
        }
        

        【讨论】:

          猜你喜欢
          • 2013-12-18
          • 1970-01-01
          • 1970-01-01
          • 2022-01-17
          • 1970-01-01
          • 2011-08-12
          • 1970-01-01
          • 2015-09-12
          • 1970-01-01
          相关资源
          最近更新 更多