toString方法无法正确显示

时间:2014-05-04 10:41:44

标签: java loops printing while-loop tostring

我只是简单地尝试将我的tostring方法打印到屏幕上,但它没有显示[]这样的测试[SAIL,HIN100,Bindi,10.0]我希望在没有[]的情况下显示它,这里是如何打印toString方法

        while (count < yachts.size()){
        System.out.println(yachts.toString());
        count++;
    }

这是我的toString方法

    public String toString (){
return String.format("%s, %s, %s, %1.1f, ",type, Boat_Code, BoatName, Length);
}

1 个答案:

答案 0 :(得分:1)

您正在显示Collection yachts的toString方法,而不是游艇本身,因此显示方括号字符的原因。

请改为尝试:

int count = 0;
for(Yacht yacht : yachts)){
    System.out.print(yacht);
    count++;
    if(count < yachts.size()) {
        System.out.print(", "); 
    }
}

我假设您希望输出逗号分隔值在同一行上的所有元素(尽管这些元素已经在您的toString方法中使用)。我还假设toString方法存在于名为Yacht的类中。

编辑:使用while循环,您可以使用:

Iterator<Yacht> iter = yachts.iterator();
while (iter.hasNext()){
    System.out.print(iter.next());
    if(iter.hasNext()) {
        System.out.print(", "); 
    }
}