java中如何打印ArrayList中的自定义类元素的数据域?
publicclassAccount{\\省略了不相关的数据域和方法privateArrayListtransactions=newArrayList();transac...
public class Account
{ \\省略了不相关的数据域和方法
private ArrayList transactions = new ArrayList();
transactions.add( new Transaction(参数省略) );
\\我想用下面这个函数打印
public void printDescription()
{
for(int i = 0; i < this.transactions.size(); i++)
System.out.println( (Transaction)transactions.get(i).getDescription() );
}
}
\\这个是Transaction类的相关部分
class Transaction
{
private String description;
public String getDescription()
{
return this.description;
}
} 展开
{ \\省略了不相关的数据域和方法
private ArrayList transactions = new ArrayList();
transactions.add( new Transaction(参数省略) );
\\我想用下面这个函数打印
public void printDescription()
{
for(int i = 0; i < this.transactions.size(); i++)
System.out.println( (Transaction)transactions.get(i).getDescription() );
}
}
\\这个是Transaction类的相关部分
class Transaction
{
private String description;
public String getDescription()
{
return this.description;
}
} 展开
5个回答
展开全部
重写toString方法,在自定义类中重写toString方法,组装自己的格式。
ArrayList在它的父类AbstractCollection中重写了toString方法,该方法用Iterator的方式遍历自己的集合。遍历时直接把元素加入到了StringBuilder中,这样相当于调用元素的toString方法。
举个例子:
import java.util.ArrayList;
import java.util.List;
public class Test5 {
/**
* @param args
*/
public static void main(String[] args) {
List<MyData> ms = new ArrayList<MyData>();
ms.add(new MyData("0"));
ms.add(new MyData("1"));
ms.add(new MyData("2"));
ms.add(new MyData("3"));
System.out.println(ms);
}
}
class MyData {
private String name;
public MyData(String name) {
this.name = name;
}
public String toString() {
return "数据域:" + name;
}
}
展开全部
你这种写法也可以啊。
另外,你也可以在你的类里加一个public String toString()的方法,用于重写Object类的方法。
有这个方法后,你可以直接用System.out.println(new Transaction());来输出你的对象的信息了。
另外,你也可以在你的类里加一个public String toString()的方法,用于重写Object类的方法。
有这个方法后,你可以直接用System.out.println(new Transaction());来输出你的对象的信息了。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
类里面要有get***的方法。利用方法来取值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就是这个有问题啊。
transactions.add( new Transaction(参数省略) );
其他基本没有问题啊。
transactions.add( new Transaction(参数省略) );
其他基本没有问题啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
( (Transaction)transactions.get(i) ) .getDescription()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |