Arraylist 或 List 中的 Java 对象

Posted

技术标签:

【中文标题】Arraylist 或 List 中的 Java 对象【英文标题】:Java object in Arraylist or List 【发布时间】:2015-07-30 22:20:37 【问题描述】:

我想知道如何将我的对象ObjetTWS 与我的函数ObjectTWS() 的参数一起使用。以及如何将对象放入ArraylistList

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 undefined :

ObjetTWS obj  = new ObjetTWS();

obj.nom = p_nom;
obj.jobAmont.add(p_jobAmont);
obj.jobAval.add(p_jobAval);
obj.type = p_type;

【问题讨论】:

您是否在某处初始化列表? 是的,但问题出在我创建的对象上。此行的错误 ObjetTWS obj = new ObjetTWS() is constructor ObjetTWS is undefined. @Subas,属性(除非是特殊情况)应该都是私有的,并且访问它们的方式应该始终使用 getter 和 setter 方法。记住它。 【参考方案1】:

你已经定义了一个构造函数:

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);

【讨论】:

【参考方案2】:

首先你应该初始化列表

public class ObjetTWS    
    String nom; 
    List<String> jobAmont = new ArrayList<String> (); 
    List<String> jobAval =  new ArrayList<String> (); 
    String type;

然后你尝试向其中添加元素。

并尽量保留你的默认构造函数

当您通过参数构造函数覆盖它时

public ObjectTWS() 

【讨论】:

抱歉,当您发表评论时,我正在回答我的问题 :)【参考方案3】:

默认情况下,对象有一个无参数构造函数(这是您在第二个代码 sn-p 中调用的构造函数)。但是,当您提供其他构造函数时,它会替换,这就是您在第一个示例中所做的。

要解决这个问题,你有两个选择:

    ObjetTWS 类中添加无参数构造函数:public ObjeTWS() //Do any initialization here

    在您的第二个代码示例中,使用以下代码:ObjetTWS obj = new ObjetTWS(p_nom, p_type, p_jobAmont, p_jobAval);

【讨论】:

【参考方案4】:

由于您在类中创建了自己的带参数构造函数,因此默认构造函数根本不起作用,因此您必须使用构造函数传递参数,并在向其添加元素之前初始化 List。

【讨论】:

【参考方案5】:

public ObjetTWS(String p_nom, String p_type,String p_jobAmont,String p_jobAval) 你这里有一个参数化的构造函数。但是在代码中你试图这样做ObjetTWS obj = new ObjetTWS();

它告诉我们的是你没有没有参数的构造函数。

因此,为了能够做到这一点,您需要向您的类添加另一个构造函数,它应该如下所示:

public ObjectTWS() 
    // Any code logic

【讨论】:

以上是关于Arraylist 或 List 中的 Java 对象的主要内容,如果未能解决你的问题,请参考以下文章

Java中的代码 import java.util.ArrayList; ArrayList list=new ArrayList(); 引用错误啊

怎么遍历ArrayList中的list呢?

java中在arraylist表中的字符串类型数值怎么取

java中ArrayList中的addAll方法有啥用?

java 中的List 最大可以存放多少条数据

java ArrayList数组中如何插入一个元素