在我徘徊并自己滚动之前,我想知道是否有人知道如何做以下事情......
目前我正在使用MessageFormat来创建一些字符串.我现在要求其中一些字符串具有可变数量的参数.
例如(当前代码):
MessageFormat.format("{0} OR {1}", array[0], array[1]);
Run Code Online (Sandbox Code Playgroud)
现在我需要这样的东西:
// s will have "1 OR 2 OR 3"
String s = format(new int[] { 1, 2, 3 });
Run Code Online (Sandbox Code Playgroud)
和:
// s will have "1 OR 2 OR 3 OR 4"
String s = format(new int[] { 1, 2, 3, 4 });
Run Code Online (Sandbox Code Playgroud)
有几种方法我可以考虑创建格式字符串,例如每个参数的数量为1个字符串(它们的数量有限,所以这很实用,但看起来很糟糕),或者动态构建字符串(有一个他们很多,所以这可能很慢).
还有其他建议吗?
除非,我遗漏了一些事情join.在Java 7获得String.join(没有玩笑)之前,有一些实现,比如Apache commons lang StringUtils.join.
StringUtils.join(new Integer[] { 1, 2, 3, 4 }, "OR");
Run Code Online (Sandbox Code Playgroud)
唯一的问题是它不能直接在primtive int []数组上工作.