[英]Java object in Arraylist or List
我想知道如何将我的对象ObjetTWS
与我的函数ObjectTWS()
的参数一起使用。 以及如何将对象放在Arraylist
或List
。
public class ObjetTWS {
String nom;
List<String> jobAmont;
List<String> jobAval;
String type;
public ObjetTWS(String p_nom, String p_type,String p_jobAmont,String p_jobAval){
我已经尝试了这个,但它说ObjetTWS
未定义:
ObjetTWS obj = new ObjetTWS();
obj.nom = p_nom;
obj.jobAmont.add(p_jobAmont);
obj.jobAval.add(p_jobAval);
obj.type = p_type;
您已经定义了一个构造函数:
public ObjetTWS(String p_nom, String p_type,String p_jobAmont,String p_jobAval){
这使得JVM省略了默认构造函数,因此您必须手动添加它
public ObjetTWS() {}
或使用给定的构造函数声明对象:
ObjetTWS obj = new ObjetTWS(p_nom, p_type,p_jobAmont, p_jobAval);
由于您已使用参数在类中创建了自己的构造函数,因此默认构造函数根本不起作用,因此您必须使用构造函数传递参数,并在向元素添加元素之前初始化List。
首先,您应该初始化列表
public class ObjetTWS {
String nom;
List<String> jobAmont = new ArrayList<String> ();
List<String> jobAval = new ArrayList<String> ();
String type;
然后尝试在其中添加元素。
并且还尝试保留默认构造函数
当你通过参数构造函数覆盖它时
public ObjectTWS() {}
默认情况下,对象具有参数less constructor(这是您在第二个代码段中调用的那个)。 但是,当您提供它们时,它会被其他构造函数替换 ,这正是您在第一个示例中所做的。
要解决这个问题,您有两个选择:
在ObjetTWS
类中添加一个参数less constructor: public ObjeTWS() {} //Do any initialization here
在第二个代码示例中,使用: ObjetTWS obj = new ObjetTWS(p_nom, p_type, p_jobAmont, p_jobAval);
public ObjetTWS(String p_nom, String p_type,String p_jobAmont,String p_jobAval)
这里有一个参数化构造函数。 但是在代码中你试图这样做ObjetTWS obj = new ObjetTWS();
它告诉我们的是你没有没有参数的构造函数。
所以,为了能够做到这一点,你需要在你的类中添加另一个构造函数,它应该如下所示:
public ObjectTWS() {
// Any code logic
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.