java中高效拼接字符串,并且可以将其顺序前后颠倒,例如添加时顺序是"B12" + "/" + "C12" + "/" + "A12",最后能变为A12/C12/B12,如何实现?
时间: 2024-07-08 22:01:10 浏览: 67
在Java中,频繁地拼接字符串可能会导致性能问题,因为每次拼接都会创建一个新的字符串对象。为了解决这个问题,我们可以使用StringBuilder或StringBuffer,它们是线程安全的,特别适合大量字符串操作。
首先,使用StringBuilder,因为它的性能更好,尤其是在单线程环境中:
```java
StringBuilder sb = new StringBuilder();
sb.append("B12").append("/").append("C12").append("/").append("A12");
// 如果需要将顺序颠倒,可以在最后一步调用reverse()方法
sb.reverse();
String result = sb.toString(); // 输出: A12/C12/B12
```
如果你需要在多个地方进行拼接并最终反转,可以考虑先构建一个数组或List<String>,然后一次性转换成StringBuilder:
```java
List<String> parts = Arrays.asList("B12", "C12", "A12");
StringBuilder sb = new StringBuilder();
for (String part : parts) {
sb.append(part).append("/");
}
// 移除末尾的"/"
sb.deleteCharAt(sb.length() - 1);
sb.reverse();
String result = sb.toString(); // 输出: A12/C12/B12
```
这样做的好处在于避免了频繁创建新字符串,提高了效率。
阅读全文