我很难理解如何向数组列表添加对象以及相关语法。
在Java中查看数组列表,“如何编程”第9版。它没有明确说明如何将对象添加到测试类的数组列表中。我根本不明白它们是如何通过/添加的。
就我而言,我使用Phonebook.java类来定义默认和非默认构造函数,并使用Test类将这些对象添加到数组列表中。
我的问题在于,在Test Class中添加这些对象的过程是什么,以及如何使用数组列表来处理或初始化PhoneBook类中的这些对象?
到目前为止我的代码。
Phonebook.java - >
公共类PhoneBookTest {
public static void main (String [] args)
{
Scanner input = new Scanner (System.in);
ArrayList < PhoneBook > directory = new ArrayList <PhoneBook>(5);
System.out.println ("Welcome to your Phone Book");
System.out.println ("Add Entries to the list");
System.out.println ();
PhoneBook x;
String num = null;
String name = null;
for (int i = 0; i < 5 ; i++)
{
System.out.println ("Enter Name: ");
name = input.nextLine();
System.out.println();
System.out.println ("Enter Number: ");
num = input.nextLine();
System.out.println();
PhoneBook newEntry = new PhoneBook (name, num);
directory.add (newEntry);
}
}
答案 0 :(得分:1)
向任何List添加对象(ArrayList只是列表的一个内容)使用add
方法。在您的示例中,将每个条目添加到ArrayList的末尾,PhoneBookTest
看起来像这样:
class PhoneBookTest
{
public static void main( String[] args )
{
List<PhoneBook> phoneBooks = new ArrayList<PhoneBook>( 5 );
Scanner input = new Scanner (System.in);
System.out.println ("Welcome to your Phone Book");
System.out.println ("Add Entries to the list");
System.out.println ();
for (int i = 1; i < = phoneBooks.size(); i++)
{
System.out.println ("Enter Name: ");
String name = input.nextLine();
System.out.println();
System.out.println ("Enter Number: ");
String number = input.nextLine();
System.out.println();
PhoneBook newEntry = new PhoneBook( name, number );
phoneBooks.add( newEntry );
}
}
}
答案 1 :(得分:0)
在你的循环中你是参考
Phonebook.getName() in an effort to set it.
您的代码需要访问电话簿的实例,而不是静态引用它。 您还需要循环列表,而不是类电话簿。
for (int i = 1; i < = directory.size(); i++)
{
((Phonebook) directory.get(i)).setName("setting name to this text!");
您也可以像这样迭代列表:
for(Phonebook myphonebook : directory)
我认为你应该阅读Java类和迭代的基础知识。
试试这个: Lessons on Java