Java 重写toString以删除元素之间的空格

Java 重写toString以删除元素之间的空格,java,overriding,tostring,space,Java,Overriding,Tostring,Space,正如您所知,toString()方法调用了向量输出 [foo, bar, item, item4] 这是非常基本的,但是,我如何得到它(删除元素之间的空白) 谢谢大家 编辑:返回nom.toString().replace(“,”);这不是解决办法 只需扩展Vector类并重写toString() @覆盖 公共字符串toString(){ StringBuffer sb=新的StringBuffer(“[”); for(int i=0;ijava AwesomeVector [这是一个测试]

正如您所知,toString()方法调用了向量输出

[foo, bar, item, item4]
这是非常基本的,但是,我如何得到它(删除元素之间的空白)

谢谢大家


编辑:返回nom.toString().replace(“,”);这不是解决办法

只需扩展Vector类并重写
toString()

@覆盖
公共字符串toString(){
StringBuffer sb=新的StringBuffer(“[”);
for(int i=0;i
包装vector类并重写toString

import java.util.*;
class AwesomeVector<E> extends Vector<E> {

    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("[");
        for(int i = 0; i < size(); i++) {
           if(i != 0) sb.append(","); 
           sb.append(get(i));
        }
        sb.append("]");
        return sb.toString();
    }

    public static void main(String[] args) {
        AwesomeVector<String> av = new AwesomeVector<String>();
        av.add("This");
        av.add("is");
        av.add("a test");
        System.out.println(av.toString());
    }

}


C:\Documents and Settings\glowcoder\My Documents>javac AwesomeVector.java

C:\Documents and Settings\glowcoder\My Documents>java AwesomeVector
[This,is,a test]
import java.util.*;
类AwesomeVector扩展了Vector{
公共字符串toString(){
StringBuilder sb=新的StringBuilder();
某人加上(“[”);
对于(int i=0;ijavac AwesomeVector.java
C:\Documents and Settings\glowcoder\My Documents>java AwesomeVector
[这是一个测试]

只有在子类化
向量时,重写才有意义

如果是,则可以使用Apache Commons Lang,如下所示:

@Override
public String toString() {
    return "[" + StringUtils.join(this, ",") + "]";
}

如果您想继续使用纯Java,glowcoder有最好的答案。

如果您确定元素中没有
,“
,您可以尝试:

System.out.println(v.toString().replace(", ", ","));

要删除所有空格还是仅删除元素之间的空格?也就是说,
[John Smith,Jane Doe,Will Williams]
的期望输出是什么?返回nom.toString().replace(“,”);很好,但是如果我的元素之一是“我是一个空间”。。。我知道我必须重写它,但我无法使它正确。如果实现得更好,我喜欢利用Apache Commons为您做事情的想法,一般来说这很好。
@Override
public String toString() {
    return "[" + StringUtils.join(this, ",") + "]";
}
System.out.println(v.toString().replace(", ", ","));