我正在向一個向量存儲一些簡單的字符串,並且我想在一個新行上打印每個值,我不知道該怎麼做。我也想知道是否可以刪除括號和逗號java放入之後它打印矢量?我知道我需要一個toString()方法,我不知道如何編寫它。簡單的toString()方法
這裏是現在這樣:
[Bob: Hello World, Bob: How are you?, Bob: I'm Good]
如果可能的話,我想它打印:
Bob: Hello
Bob: How are you?
Bob: I'm Good
我正在向一個向量存儲一些簡單的字符串,並且我想在一個新行上打印每個值,我不知道該怎麼做。我也想知道是否可以刪除括號和逗號java放入之後它打印矢量?我知道我需要一個toString()方法,我不知道如何編寫它。簡單的toString()方法
這裏是現在這樣:
[Bob: Hello World, Bob: How are you?, Bob: I'm Good]
如果可能的話,我想它打印:
Bob: Hello
Bob: How are you?
Bob: I'm Good
public void printVector(Vector<?> vector){
for (Object o : vector) {
System.out.println(o.toString());
}
}
假設你的矢量持有字符串類型的元素:
Vector<String> yourVector = ...;
for (String line : yourVector) {
System.out.println(line);
}
爲什麼認爲它的字符串 – 2012-01-31 06:27:04
因爲OP寫道:「我正在存儲一些簡單的字符串到一個向量...」 – Dawood 2012-01-31 06:27:54
你是對的,它是一個向量
你必須自己動手:
for (String string : stringVec) {
System.out.println(string);
}
此代碼應該這樣做
public static String listStringByLines(Iterable<?> lst) {
StringBuilder builder = new StringBuilder();
for (Object elem: lst) {
builder.append(elem.toString());
builder.append("\n");
}
return builder.toString();
}
這具有可重複使用許多不同類型的枚舉對象和一般類型參數的優勢。
爲什麼不在這種情況下只使用通配符? – 2012-01-31 06:28:26
@DD。你是對的。固定。但是,Java編譯器仍然允許調用者寫入'String s = listStringByLines(lst)'而不明確指定類型。 – 2012-01-31 06:30:12
如果你想獨立於平臺,你應該使用'System.getProperty(「line.separator」)'而不是'「\ n」'。 – yshavit 2012-01-31 06:50:10
你使用Vector的任何原因?我不會使用這個,除非你使用多個線程。 – 2012-01-31 06:24:03
是的,我實際上是在命令行中製作一個簡單的多線程聊天服務器。 – user1174834 2012-01-31 06:29:58