当前位置: 首页 > 知识库问答 >
问题:

Java向ArrayList添加对象错误

法玮
2023-03-14

我是java编码的新手,希望得到一些帮助。我试图将类Fish的对象添加到arraylist调用fishList

例如,我主要有

    public static void main(String[] args) {

    Fish f1 = new Fish("Nemo");}

在我的类和构造函数中

public class Fish {
protected static String name;
protected static int number;
protected static List<Fish> fistList = new ArrayList<Fish>();


public Fish(String in){
name = in;
number = 15;
fishList.add(name, number);
}

但是我得到一个错误“没有为add(string,int)方法列表找到合适的方法。add(int,Fish)不适用(实际的参数字符串不能通过方法调用转换转换为int)方法列表。add(Fish)不适用(实际的正式参数列表长度不同)

如何正确地向arraylist添加对象?

共有1个答案

方琦
2023-03-14

首先,namenumber不应该是static(除非您希望所有的Fish都有相同的名称/编号,但是创建一个以上的该类实例会浪费资源)!

其次,改变:

fishList.add(name, number);

致:

fishList.add(this);

fishList可以保存对Fish类型对象的引用。如果您尝试添加“name,number”,Java不知道您指的是鱼:-)

指向当前正在构造函数中创建的对象。

 类似资料:
  • 问题内容: 我想向中添加一个对象,但是每次我向具有3个属性的新对象添加时,都会出现错误。 在这里,我正在尝试创建其对象并将其传递给的类。 问题答案: 创建对象时需要使用运算符 要不然 并且您的构造函数不应包含。否则它将成为您班上的一个方法。

  • 目前,我有2个对象,我想输入一个新的对象。 我正在寻找一个关于StackOverFlow的解决方案,如下所示:但是,我不明白我的错误。 如何在Java中将对象添加到ArrayList中 下面是我的方法: 我的错误是->main.java:75:错误:找不到符号player.add(name);文字 我不明白我的问题?? 下面是我的方法: 我的类 事先谢谢你的帮助。

  • 我需要填充一个json文件,现在我有如下内容: 我需要添加另一个“元素”。我的第一步是使用,现在我需要添加新元素。我想我必须使用添加另一个元素,我尝试了以下方法: 但是当我尝试做时,我得到了错误"对象没有方法推送",我认为我做了一些非常错误的事情,因为我没有告诉任何地方的"元素"。 我该怎么做? 编辑:对不起,我脑子里有很多困惑。 我认为从,但我首先得到了我在JSON中输入的内容。 用数组代替对象

  • 这里有两个类,查询语句和Stackov。arraylist用于存储查询语句类的对象。但是最近添加的对象覆盖了前一个对象。如何添加对象以使它们不被覆盖? QuerySentence.java Stackov.java

  • 我试图让用户输入日期来存储它,但我似乎无法将其记录下来。 当我试图将创建的对象添加到数组时,问题就来了。 以下是另一个类,以供setDay,setMonth,setyear参考:public class OurDate{private int day;private int month;private int year;

  • 我一直在做一个关于类继承的练习 问题如下:有三种主要类型的文件, 一个类Zoo文件(包含主方法) 一个抽象类动物文件 和任何数量的特定动物(牛,马,无论什么),它们是派生的类,你猜对了,类动物。 我的问题存在于这里的add方法中。我在第一个if语句中不断得到一个空指针异常 以及第一次在main方法中调用add方法。很明显,这种情况有点不对劲,很可能是伴随它的else if情况。 对于我的生活,我无

  • 问题内容: 假设我有一个对象 如何通过添加方法扩展该对象,并确保将来的实例具有此方法? 问题答案: 您需要将其添加到Foo的原型中:

  • 问题内容: 这件事困扰了我一段时间。我为什么不能做: …虽然我可以执行以下操作? 这是什么规则?您能给我介绍一下吗? 问题答案: 您可以向具有的任何对象添加属性。 例如,没有它。 字符串和其他简单的内置对象也没有它。 使用类也没有它。 除非前面的声明适用,否则用定义的类都具有它。 如果使用/的对象没有/ ,通常是为了节省空间。例如,如果有一个命令,那就太过分了- 想象一下一个非常短的字符串的膨胀程