【问题标题】: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);
}