英文:
Can I use String.format() with String array parameter?
问题
可以根据可变数量的参数来格式化字符串吗?
例如,如果我有一个字符串数组 arg,其中可以是任意数量的参数,是否可能获得一个格式化的字符串(假设消息字符串中的 %s 的数量与 arg 数组的长度相同?)
private static String getValue(String... arg) {
String value = String.format(message, arg);
}
谢谢。
英文:
Is it possible to format a string given a variable number of arguments?
For example, if I have String array arg which can be any number of arguments, is it possible to get a formatted string (assuming the message string has the same number of %s as the length of the arg array?)
private static String getValue(String... arg) {
String value = String.format(message, arg);
}
Thank you.
答案1
得分: 1
一般是这样的:
String[] d = {"abc", "123", "ddd"};
System.out.printf("%s - %s: %s%n", d);
输出:
abc - 123: ddd
然而,如果您需要使用相同分隔符获取单个字符串,最好使用静态方法 String.join
:
System.out.println(String.join(": ", d)); // 输出 abc: 123: ddd
英文:
Generally yes:
String[] d = {"abc", "123", "ddd"};
System.out.printf("%s - %s: %s%n", d);
prints:
abc - 123: ddd
However, it may be better to use static method String.join
if you need to get a single string with the same separator:
System.out.println(String.join(": ", d)); // prints abc: 123: ddd
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论