>我正在尝试将向量的内容作为内聚字符串返回并输出。我尝试了vector.toString()
但这还包括括号和逗号。我不能这样。有没有办法将该向量的元素转换为字符串?
-
你可以通过使用apache StringUtils来做到这一点:
import java.util.Vector; import org.apache.commons.lang3.StringUtils; public class VectorExample { public static void main(String[] args) { Vector<String> vector= new Vector<String>(); vector.add("test1"); vector.add("test2"); vector.add("test3"); System.out.println(StringUtils.join(vector, " ")); } }
输出:测试1 测试2测试3
-
我建议在实用程序/帮助程序类中添加一个新方法,例如getElementsAsString((,或者在您创建/处理向量的类中添加一个新方法,这将获得所需格式的字符串。
-
如果你想坚持并只使用 toString(( 方法,扩展 Vector 是一个选项。然后你可以重写 toString(( 方法。
谢谢。
您可以按如下方式执行此操作:
import java.util.Vector;
public class Main {
public static void main(String args[]) {
Vector<Integer> vector = new Vector<Integer>();
vector.add(1);
vector.add(2);
vector.add(3);
StringBuilder sb = new StringBuilder();
vector.forEach(n -> sb.append(String.valueOf(n)));
String str = sb.toString();
System.out.println(sb);
System.out.println(str);
}
}
输出:
123
123
或者
import java.util.Vector;
public class Main {
public static void main(String args[]) {
Vector<Integer> vector = new Vector<Integer>();
vector.add(1);
vector.add(2);
vector.add(3);
StringBuilder sb = new StringBuilder();
for (int n : vector) {
sb.append(n);
}
String str = sb.toString();
System.out.println(sb);
System.out.println(str);
}
}
输出:
123
123
或者
import java.util.Vector;
public class Main {
public static void main(String args[]) {
Vector<Integer> vector = new Vector<Integer>();
vector.add(1);
vector.add(2);
vector.add(3);
String str = "";
for (int n : vector) {
str += n;
}
System.out.println(str);
}
}
输出:
123
注意:不鼓励使用此方法,因为它将创建与迭代次数一样多的 String 对象。
或者
import java.util.Vector;
public class Main {
public static void main(String args[]) {
Vector<Integer> vector = new Vector<Integer>();
vector.add(1);
vector.add(2);
vector.add(3);
String str = vector.toString().replaceAll(",|\[|\]|\s+", "");
System.out.println(str);
}
}
输出:
123
如果Vector
的元素String
,则还可以执行以下操作:
import java.util.Vector;
public class Main {
public static void main(String args[]) {
Vector<String> vector = new Vector<String>();
vector.add("1");
vector.add("2");
vector.add("3");
String str = String.join("", vector);
System.out.println(str);
}
}
输出:
123