我的Vector打印有问题: 我有这个矢量:
Vector<StructRicetta> Ricetta=new Vector<StructRicetta>();
StructRicetta类:
public class StructRicetta {
String nomeric;
int n;
Vector<String> ingrediente=new Vector<String>();
Vector<String> quantita=new Vector<String>();
Vector<Boolean> facoltativo=new Vector<Boolean>();
String preparazione;
}
我从文件中读取了这个结构的值。 在阅读器函数中,我返回到StructRicetta类型,并将其添加到向量中:
Ricetta.add(Myclass.reader());
现在我该如何打印结果?
谢谢!
答案 0 :(得分:2)
您将不得不在类中添加toString()方法,然后遍历Vector
。
也许迭代并将每个条目添加到StringBuilder,并使用逗号或类似内容分开? Apache Commons StringUtils.join()会在一次电话会议中为您做到这一点。
请注意。 Vector
目前在很大程度上已被弃用(默认情况下它的方法为synchronised
,这有点浪费),您应该查看ArrayList或类似内容。
答案 1 :(得分:1)
一般情况下,如果你想从对象而不是内存地址打印出有用的东西,你需要覆盖public String toString()函数,然后使用System.out.println(该对象)来查看它。
答案 2 :(得分:0)
您可以在toString()
课程中添加StructRicetta
方法,然后调用
System.out.println(Ricetta);
将Vector的内容打印到控制台。
答案 3 :(得分:0)
首先我会覆盖你的tructRicetta类的toString
方法,而不是迭代你的Vector:
for( StructRicetta rec: Ricetta){
System.out.println(rec);
}
答案 4 :(得分:0)
请注意,Vector实现了List,并遵循List的toString规则。在编写代码迭代Vector之前,首先测试它的toString是否符合您的要求。
为了使它有用,你需要给StructRicetta一个很好的toString方法。