由于某种原因,.get()
在我的代码中不是有效的方法。有人可以指出错误吗? (抱歉不正确的对象名称(不打算共享此代码))
public class Summon_Tester
{
public static void main (String [] Args)
{
Summoned_Bin Bin = new Summoned_Bin();
Bin.addToBin();
System.out.println(Bin.get(0));
}
}
Summoned_Bin代码
import java.util.ArrayList;
public class Summoned_Bin
{
ArrayList<Summon> Bin = new ArrayList<Summon>();
Summoned_Bin()
{
}
void addToBin()
{
Summon summoned = new Summon();
int index = 0;
while (Bin.get(index) != null)
{
index++;
}
Bin.add(index , summoned );
}
}
答案 0 :(得分:3)
Summoned_Bin不是ArrayList,因为它不扩展ArrayList类。相反,它包含一个ArrayList。知道这很好,通过组合而不是继承来增强类是完全可行的,但是不要试图直接在其上使用任何ArrayList方法。
您有两种常见的解决方案:
例如,给它一个get(...)
方法:
public Summon get(int index) {
return Bin.get(index);
}
修改强>
正如nachokk正确建议的那样,您需要学习并关注Java code conventions,因为这样做会让其他人更容易理解您的代码。