我知道如何将字符串分隔为string []。在我的项目中,我使用t = time.split("-")
将时间分成字符串数组t和t[0]=DD, t[1]=MM
。现在我需要将字符串数组t转换为格式为DD-MM的字符串时间。 java有功能吗?
答案 0 :(得分:8)
String joined = Joiner.on('-').join(parts);
另一方面,我实际建议不拆分并加入你的字符串开头。而是将其解析为适当的日期/时间类型(理想情况为Joda Time),执行您需要的任何操作,然后使用不同的格式模式重新格式化。
这将改善您的错误检测,并且基本上使您的代码真正反映您正在使用的数据的性质 - 而不仅仅是谈论拆分和加入文本。
答案 1 :(得分:3)
您可以像这样使用String Utils from Apache Commons:
String res = StringUtils.join(myStrings, "-");
如果您不打算使用外部框架,可以自行编辑,如下所示:
StringBuilder res = new StringBuilder();
boolean isFirst = true;
for (String s : myStrings) {
if (!isFirst) {
res.append('-');
} else {
isFirst = false;
}
res.append(s);
}
答案 2 :(得分:1)
public static String join(String[] arr, String separator)
{
StringBuilder b = new StringBuilder();
for(int i = 0; i < arr.length; i++)
{
if(i != 0) b.append(separator);
b.append(arr[i]);
}
return b.toString();
}
答案 3 :(得分:0)
对于这个简单的例子,这有什么问题?
String time = t[0]+"-"+t[1];
是的,在性能很重要时使用StringBuilder,但这更加简洁。