
本文介绍如何对用户输入的5字符字符串进行反转操作,并安全移除首尾字符,仅保留中间3个字符,重点讲解使用stringbuilder提升性能的实践方法。
本文介绍如何对用户输入的5字符字符串进行反转操作,并安全移除首尾字符,仅保留中间3个字符,重点讲解使用stringbuilder提升性能的实践方法。
在Java中处理固定长度字符串(如5字符)的反转与裁剪时,推荐采用 StringBuilder 配合 substring() 的组合方案——它既保证操作的简洁性,又显著优于纯 String 拼接的内存效率。核心思路是:先用 reverse() 高效反转,再用 substring(1, length-1) 精确截取中间子串(索引1至倒数第二个字符,即排除首尾)。
以下为完整可运行示例:
import java.util.Scanner;
public class StringProcessor {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个5字符字符串:");
String input = scanner.nextLine().trim();
// 安全校验:确保长度为5
if (input == null || input.length() != 5) {
System.err.println("错误:输入必须恰好为5个字符。");
return;
}
// 反转并移除首尾字符(保留索引1~3,共3个字符)
String result = new StringBuilder(input)
.reverse()
.substring(1, input.length() - 1); // 即 substring(1, 4)
System.out.println("处理结果:" + result); // 例如输入 "Hello" → 输出 "lle"
}
}⚠️ 关键注意事项:
-
substring(beginIndex, endIndex)的endIndex是排他性的,因此input.length() - 1表示截取到倒数第二个字符(索引4在5字符串中对应第5位,但不包含它); - 务必在调用前校验字符串长度,避免
StringIndexOutOfBoundsException; - 直接使用
StringBuilder而非String进行多次修改,可避免创建冗余字符串对象,减少GC压力; - 若需支持任意长度字符串(非严格5字符),建议将
substring(1, str.length()-1)封装为工具方法,并添加length 的边界判断(此时无中间字符可保留)。
该方案兼顾代码清晰度、运行效率与健壮性,是处理此类字符串变换任务的标准实践。

















