2013-02-05 261 views
0

我有我的矢量打印一个问题: 我有这个向量:打印矢量<MyClass>

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()); 

现在我怎样才能打印结果?

谢谢!

回答

2

你将不得不添加一个toString()方法到你的类,然后遍历Vector s。

也许迭代并将每个条目添加到StringBuilder,并使用逗号或类似分隔? Apache Commons StringUtils.join()将在一次呼叫中为您做到这一点。

注意。 Vector这些日子大部分已被弃用(默认情况下,它的方法是synchronised,这有点浪费),您应该看看ArrayList或类似的东西。

1

如果你想从对象而不是内存地址打印出有用的东西,你需要覆盖public String toString()函数,然后使用System.out.println(该对象)来查看它。

0

你可以一个toString()方法添加到您的StructRicetta类,然后调用

System.out.println(Ricetta); 

打印矢量的内容到控制台。

0

首先,我将在此改变toString方法为您tructRicetta类,你的矢量比遍历这样的:

for(StructRicetta rec: Ricetta){ 
    System.out.println(rec); 
} 
0

注意向量实现列表,并遵循列表中的toString规则。在编写遍历Vector的代码之前,首先测试其toString是否符合您的要求。

为了使它有用,您需要给StructRicetta一个很好的toString方法。