我们有方法,看起来像这样:的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。*'包,如果可以的话。 –