![](/img/trans.png)
[英]Creating a method in JAVA to print the content of an ArrayList calling a specific format of another class
[英]Creating a method to print ArrayList, then calling it in another class
我已經在“ BookList”類中構建了一個Arraylist,但是我需要它才能在另一個類中打印。
我想我可能必須將Arraylist的打印轉換為方法,以便可以從另一個類中調用它; 如果我錯了,我還能做些什么呢?
下面是我的代碼,以供參考。
import java.util.ArrayList;
public class BookList {
public static void main (String[] args){
Book a = new Book();
a.setTitle("Random ");
a.setAuthor("Craig Robertson");
a.setBookID("1847398812");
a.setonLoan(false);
a.setNumberofLoans(3);
Book b = new Book();
b.setTitle("The Last Refuge");
b.setAuthor("Craig Robertson");
b.setBookID("1471127753");
b.setonLoan(false);
b.setNumberofLoans(2);
Book c = new Book();
c.setTitle("The Bird That Did Not Sing");
c.setAuthor("Alex Gray");
c.setBookID("0751548278");
c.setonLoan(true);
c.setNumberofLoans(7);
ArrayList<Book> BookList = new ArrayList<Book>();
BookList.add(a);
BookList.add(b);
BookList.add(c);
int count = BookList.size();
System.out.println("Count: " + count);
System.out.println("");
for (Book d : BookList){
System.out.println(d);
}
}
}
為此,我在'Book'類中具有toString()方法,因此可以打印所有對象。
另一個問題:如何打印每個對象的標題和作者?
在Book
類中創建一個靜態方法來處理顯示:
public static void showBooks(ArrayList<Book> books) {
for (Book d : Books){
System.out.println(d); // calls the 'toString' method on each Book object
}
並從main方法中以這種方式調用它:
ArrayList<Book> BookList = new ArrayList<Book>();
BookList.add(a);
BookList.add(b);
BookList.add(c);
Book.showBooks(BookList); // prints the books, one by one
如何僅打印每個對象的標題和作者?
您可以選擇僅在Book
類的重寫 toString
方法中打印title
和author
:
@Override
public String toString() {
// 'author' & 'title' are members of the 'Book' class
return "Author: " + author + "- Title: " + title;
}
像這樣重寫BookList tostring方法:
public class BookList{
@Override
public String toString(){
// Return some string here
}
}
然后只需正常使用即可。
System.out.println(myBookList);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.