本帖最后由 AFools_love 于 2021-7-28 22:19 编辑
cn.mcgal.forge.database.DataManager.java
复制代码
复制代码
如果传入的list中没有元素怎么办?
sb中字符数量为0,sb.length() - 1 = 0 - 1 = -1,能截取到 0至-1的字符串吗?
0. 只解决问题
复制代码
1. 稍加思考1.0
复制代码
2. 稍加思考2.0 JDK 15+
复制代码
3. 重写逻辑
cn.mcgal.forge.database.DataManager.java
- public String listToString(List<String> list) {
- StringBuffer sb = new StringBuffer();
- for (String str : list)
- sb.append(String.valueOf(str) + ",");
- return sb.substring(0, sb.length() - 1);
- }
- return sb.substring(0, sb.length() - 1);
如果传入的list中没有元素怎么办?
sb中字符数量为0,sb.length() - 1 = 0 - 1 = -1,能截取到 0至-1的字符串吗?
0. 只解决问题
- return sb.substring(0, Math.max(sb.length() - 1, 0));
1. 稍加思考1.0
- return sb.length() == 0 ? "" : sb.substring(0, sb.length() - 1);
2. 稍加思考2.0 JDK 15+
- return sb.isEmpty() ? "" : sb.substring(0, sb.length() - 1);
3. 重写逻辑
AFools_love 发表于 2021-7-28 20:40
cn.mcgal.forge.database.DataManager.java
感谢您的帮助,我已自行解决。
在执行数据库命令前判断Arrylist是否为空