要添加括号字符串

时间:2014-04-17 17:18:53

标签: java tostring

尝试删除最后一个逗号,而是添加一个结束括号。如何解决这个问题?

我的代码:

    @Override
    public String toString(){
    String str="[";
    for(double d:data) str+=d+", ";
    return str;

}

示例数据:

stat1 data = [  
stat1 data = [50.0, 60.0,  
stat1 data = [70.0, 80.0,  
stat1 data = [90.0, 100.0,  
stat1 data = [100.0, 110.0,  
stat1 data = [

2 个答案:

答案 0 :(得分:0)

有时候很难说,你在迭代器中查看的元素是最后一个元素。在这种情况下,除了第一个元素之外,通常最好在之前添加逗号而不是之后的每个元素。因此:

String str = "[";
boolean first = true;
for (double d : data)  {
    if (!first) {
        str += ", ";
    }
    str += d;
    first = false;
}
str += "]";

另一种可能性是使用您现在拥有的逻辑,但使用substringreplace或其他方法删除额外的两个字符,例如

str = str.replaceFirst(", $", "]");

使用正则表达式替换出现在字符串末尾的", ",右括号。

答案 1 :(得分:0)

最好只在toString方法中打印数据,并添加排版元素,如'['或逗号分别附带if语句。 但是,如果您坚持只使用toString方法,请向该类添加boolean字段,如果某个内容是最后一个对象并在toString方法内,则将其设置为true,请检查领域并做出正确的决定。