間のスペースを削除するには、ベクタ出力に呼ばれるのtoString()メソッドこのオーバーライドのtoStringご存知のように要素
[foo, bar, item, item4]
これはかなり基本的ですが、どのように私は要素間の空白を削除する(代わりにこれを得ることができます)?
[foo,bar,item,item4]
すべて
EDITありがとう:リターンnom.toString()を置き換えます(」」、 "");解決策ではありません!
間のスペースを削除するには、ベクタ出力に呼ばれるのtoString()メソッドこのオーバーライドのtoStringご存知のように要素
[foo, bar, item, item4]
これはかなり基本的ですが、どのように私は要素間の空白を削除する(代わりにこれを得ることができます)?
[foo,bar,item,item4]
すべて
EDITありがとう:リターンnom.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]
はちょうどあなたのベクトルクラスをラップしてのtoStringをオーバーライドするVectorクラスを拡張し、toString()
@Override
public String toString() {
StringBuffer sb = new Stringbuffer("[");
for(int i=0; i < elementCount ;i++){
sb.append(elementData.toString());
if(i!= elementCount -1){
sb.append(",");
}
}
sb.append("]");
return sb.toString();
}
return nom.toString()。replace( ""、 "");私の要素の1つが「私は宇宙です」...私はそれを上書きしなければならないことを知っていますが、それを正しく得ることはできません。 – user1023021
はより良い実装を提供しました –
オーバーライドは、Vector
をサブクラス化する場合にのみ意味があります。
あなたがいる場合は、次のようにあなたは、Apache CommonsのラングのStringUtils.joinを使用することができます。
@Override
public String toString() {
return "[" + StringUtils.join(this, ",") + "]";
}
あなたはプレーンなJavaで滞在したい場合は、glowcoderが最良の答えを持っています。
私は、Apache Commonsを活用して、あなたのためにやることが大好きです。 – corsiKa
あなたがあなたの要素で", "
を持っていないことが確実な場合は、試すことができます:
System.out.println(v.toString().replace(", ", ","));
あなたは**要素間のALL **スペースや空間のみを削除しますか?つまり、[John Smith、Jane Doe、Will Williams]の希望する出力は何でしょうか? –