我是java的新手并试图克服它。我有像(String URL, int Score
)这样的数据,我想在Array List中实现它。我已经搜索了如何在ArrayList
或LinkedList
中实现多种类型的变量,并发现解决方案是从超类创建子类并创建此子类:
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)
你能告诉我在哪里做错了吗?我怎么能修好它?提前谢谢。
答案 0 :(得分:2)
您可以通过创建MySubClass的对象并将其添加到列表中来修复它。
MySubClass obj = new MySubClass("http://www.something.com", 5);
myList_1.add(obj);
答案 1 :(得分:1)
您应该在列表中添加MySubClass
的实例:
myList.add(new MySubClass("http://www.something.com", 5));
顺便说一句,MySubClass
不需要成为MyList
的子类。
正如评论中所述,您应该覆盖toString()
中的MySubClass
方法,以便根据需要显示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;
}
}
答案 2 :(得分:1)
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);
}
}
尝试类似的东西,代码就可以了。