You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取字符串最后一个字符的索引?优化字符串插入避免硬编码偏移量

问题解答

一、获取字符串最后一个字符的索引

字符串索引从0开始计数,最后一个字符的索引等于字符串长度减1,通过str.length() - 1即可获取。需要注意提前判断字符串非空,避免空指针或索引越界:

String str = "testString";
if (!str.isEmpty()) {
    int lastCharIndex = str.length() - 1;
    char lastChar = str.charAt(lastCharIndex);
}

二、优化字符串插入的实现方式

你代码中的+13是硬编码了"create table"的长度,这种写法维护性差,可通过提取关键词并动态计算长度来优化:

String query = "Create table asdas aaa (int(5), bbb varchar2(20));";
final String TARGET_KEYWORD = "create table";
int keywordIndex = query.toLowerCase().indexOf(TARGET_KEYWORD);
StringBuilder sb = new StringBuilder(query);

if (keywordIndex != -1) {
    String insertContent = "'" + db + "'.";
    // 用关键词的动态长度代替硬编码的13
    sb.insert(keywordIndex + TARGET_KEYWORD.length(), insertContent);
}

优化说明:

  • 用常量统一管理目标关键词,避免重复书写和后续修改不一致
  • 依赖TARGET_KEYWORD.length()动态计算插入位置,彻底摆脱硬编码数字
  • 简化拼接逻辑:简单字符串拼接直接用+即可,JDK会自动优化为StringBuilder操作

内容的提问来源于stack exchange,提问作者vasu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 19:35:01