2015-05-07 3 views
1

Когда я пытаюсь использовать линию печати, чтобы увидеть список массивов, то, как она печатается, не так, как я хочу. Что мне нужно изменить, чтобы получить только имя?Печатная строка ArrayList

Это, как я добавляю новый контакт:

public class ContactGroup 
{ 
ArrayList<Contact> contactList= new ArrayList<Contact>(); 

Public void addContact(String aCName) 
{ 
Contact contact= new Contact(aCName); 
contactList.add(contact); 
} 


public class Contact 
{ 
private String name; 

public Contact(String aCName) 
{ 
    super(); 
    this.name = aCName; 
} 
} 
+0

Добавить ToString() метод в класс, содержащий ArrayList. –

ответ

3
public static void main(String[] args) { 
    List<Contact> contactList= new ArrayList<Contact>(); 
    // code to insert contact in list 
    for(Contact contact : contactList) { 
     System.out.println(contact.getName()); 
    } 
} 

ли вы попробовать это напечатать только имя? Другой вариант заключается в переопределении toString() метод как:

public class Contact { 
    private String name; 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 

    public Contact(String name) { 
     this.name = name; 
    } 

    @Override 
    public String toString() { 
     return "Contact{" + 
       "name='" + name + '\'' + 
       '}'; 
    } 
} 

, а затем использовать его как:

public static void main(String[] args) { 
     List<Contact> contactList= new ArrayList<Contact>(); 
     // code to insert contact in list 
     for(Contact contact : contactList) { 
      System.out.println(contact); 
     } 
    } 
+0

Отлично! Спасибо :). Только часть имени печати только отлично работала. – sobm

+0

Мне было просто интересно, можно ли добавить int в список массивов. Список уже объявлен и заселен, так или иначе, чтобы добавить число в каждую строку в списке массивов? – sobm

+0

Список содержит объекты класса 'Контакт', и вы не можете добавить' int' к нему. –

0

Override ToString() метод в вашем классе Контакты

public class Contact 
{ 
private String name; 

public Contact(String aCName) 
{ 
    super(); 
    this.name = aCName; 
} 

@Override 
public String toString() 
{ 
return "contact name " + this.name; //say you want to print the name property 
} 
} 
0

Вы должны реализовать ToString() внутри вашего класса, содержащего ArrayList. Пожалуйста, следуйте рекомендациям, предложенным в EffectiveJava при реализации метода toString().

0

следует добавить реализацию ToString() для контакта класс

public class Contact{ 
    private String Name; 
    public Contact(String name){ 
      this.Name=name; 
    } 

    // add toString method here 
    @Override 
    public String toString(){ 
     return "This is a Contact of :"+this.Name; 
    } 
} 
1

Вы можете переопределить метод ToString() в любом классе объектов

@Override 
public String toString(){return "My Text to display";} 
Смежные вопросы