Java 重写toString以删除元素之间的空格
正如您所知,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 [这是一个测试]
[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(", ", ","));