gpt4 book ai didi

java - 在 Arraylist 中找不到 .get()

转载 作者:行者123 更新时间:2023-11-30 08:27:53 24 4
gpt4 key购买 nike

出于某种原因,.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 );
}
}

最佳答案

Summoned_Bin 不是 ArrayList,因为它没有扩展 ArrayList 类。相反,它包含一个 ArrayList。知道这很好,通过组合而不是继承来增强类是完全可以的,但不要尝试直接在其上使用任何 ArrayList 方法。

您有两种常见的解决方案:

  1. 您可以让它扩展 ArrayList,但我不确定这是最好的做法,或者
  2. 可以为其提供允许外部类提取信息的公共(public)方法。

例如,给它一个get(...)方法:

public Summon get(int index) {
return Bin.get(index);
}

编辑
正如 nachokk 正确建议的那样,您将想要学习并遵循 Java code conventions ,因为这样做会让其他人更容易理解您的代码。

关于java - 在 Arraylist 中找不到 .get(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20558313/

24 4 0