我們有方法,看起來像這樣:的Java格式陣列(使用格式化類)
public String getCommandString(Object...args) {
return this.code + " " + String.format(this.pattern, args);
}
凡this.code:int
和this.pattern:String
。
這種方法通常被稱爲是這樣的:
// cmd.code = 20
// cmd.pattern = "%1$s = %2$d"
String str = cmd.getCommandString("foo", 3); // -> "20 foo = 3"
等字符串模式(這是一個非常簡單的基於文本的服務器 - 客戶端程序)
現在,是有可能的模式考慮到可變數目的參數,如
// cmd.code = 20
// cmd.pattern = ???
String s1 = cmd.getCommandString("a", "b", "c"); // -> 20 a b c
String s2 = cmd.getCommandString("Hello", "world"); // -> 20 Hello world
String s3 = cmd.getCommandString("1", "2, "3", "4", "5", "6"); // -> 20 1 2 3 4 5 6
假設也許每個參數都是相同類型(字符串)?或者我必須重寫該方法並手動設置字符串的格式?更具體地說,我正在尋找一個通用字符串模式來格式化可變數量的參數(相同類型)。我記得在C中做這樣的事情,但這在Java中可能嗎?
我不明白這一點。你不能只是連接一切嗎? (如果你有一個模式,只需在模式中運行每個字符串並連接結果) – NullUserException
是的,對於引用的特定示例,調用'StringUtils.join(args,'')'是要走的路,但我認爲OP就是以此爲例。 :) –
我知道第三方類操作對象(如'StringUtils'),但通常先轉到java。*'包,如果可以的話。 –