如何在Java中将对象添加到ArrayList

我想将一个对象添加到ArrayList ,但每次我将一个新对象添加到一个具有3个属性的ArrayListobjt(name, address, contact) ,我收到一个错误。

 import java.util.ArrayList; import java.util.Scanner; public class mainClass { public static void main(String args[]){ Scanner input = new Scanner(System.in); System.out.println("Plz enter Name : "); String name = input.nextLine(); System.out.println("Plz enter Address : "); String address = input.nextLine(); System.out.println("Plz enter ContactNo : "); String contact = input.nextLine(); ArrayList Contacts = new ArrayList(); Data objt = new Data(); Contacts.add(objt.Data(name, address, contact)); } } 

这里, Data是我正在尝试创建一个对象并将其传递给ArrayList

 public class Data { private String name = ""; private String address = ""; private String cell = ""; public void Data(String n, String a, String c){ name = n; address = a; cell = c; } public void printData(){ System.out.println("Name\tAddress\tContactNo"); System.out.println(name + "\t" + address + "\t" + cell); } } 

创建对象时需要使用new运算符

 Contacts.add(new Data(name, address, contact)); // Creating a new object and adding it to list - single step 

要不然

 Data objt = new Data(name, address, contact); // Creating a new object Contacts.add(objt); // Adding it to the list 

并且您的构造函数不应包含void 。 否则它就成了你class上的一种方法。

 public Data(String n, String a, String c) { // Constructor has the same name as the class and no return type as such 

试试这个:

 Data objt = new Data(name, address, contact); Contacts.add(objt); 
 Contacts.add(objt.Data(name, address, contact)); 

这不是调用构造函数的完美方式。 在创建对象时自动调用构造函数。 如果没有构造函数,java类会创建自己的构造函数。

正确的方法是:

 // object creation. Data object1 = new Data(name, address, contact); // adding Data object to ArrayList object Contacts. Contacts.add(object1); 

您必须在此处使用new运算符进行实例化。 例如:

 Contacts.add(new Data(name, address, contact)); 

将日期更改为括号之间的对象