繁体   English   中英

如何在Java的同一列表中添加多个对象类型

[英]How to add multiple objects types in the same list in Java

Java新手,请尝试克服它。 我有( String URL, int Score )之类的数据,我想在数组列表中实现它。 我搜索了如何在ArrayListLinkedList实现多种类型的变量,发现解决方案是从超类创建子类,然后创建该子类:

public class MySubClass extends MyList{

public String URL;
public int UrlScore;

public MySubClass (String a, int b){

    URL = a;
    UrlScore = b;
    }
}

我的超级班是:

import java.util.ArrayList;

public class MyList {

public static void main(String[] args) {

    ArrayList <MySubClass> myList_1 = new ArrayList <MySubClass> ();

    myList_1.add("http://www.something.com", 5);

    System.out.println(myList_1);   

    }
}

尝试使用添加Add对象时出现错误? 错误说:

ArrayList类型的方法add(int,MySubClass)不适用于参数(String,int)

你能告诉我哪里做错了吗? 我该如何解决呢? 提前致谢。

您可以通过创建MySubClass对象并将其添加到列表中来修复它,例如

MySubClass obj = new MySubClass("http://www.something.com", 5);
myList_1.add(obj);

您应该将MySubClass的实例添加到列表中:

myList.add(new MySubClass("http://www.something.com", 5));

顺便说一句,有没有必要MySubClass是一个子类的MyList

如注释中所述,您应该覆盖MySubClass中的toString()方法,以便根据需要显示MySubClass每个实例。

一个可能的实现:

public class MySubClass 
{

    public String URL;
    public int UrlScore;

    public MySubClass (String a, int b)
    {
        URL = a;
        UrlScore = b;
    }

    public String toString()
    {
        return URL + "=" + UrlScore;
    }
}
import java.util.ArrayList;

public class MyList {

public static void main(String[] args) {

    ArrayList <MySubClass> myList_1 = new ArrayList <MySubClass> ();
    MySubClass myobj = new MySubClass("http://www.something.com", 5);

    myList_1.add(myobj);



    }
}

尝试类似的操作,代码将起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM