From adb43c6c47905186990246407e57ae899d4cf64c Mon Sep 17 00:00:00 2001 From: Michael Yang Date: Wed, 22 May 2024 11:36:08 +0800 Subject: [PATCH] refactor: optimize StringUtil.camelToUnderline --- .../java/com/mybatisflex/core/util/StringUtil.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/util/StringUtil.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/util/StringUtil.java index cceb0a3f..3d7d28d3 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/util/StringUtil.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/util/StringUtil.java @@ -91,11 +91,11 @@ public class StringUtil { StringBuilder sb = new StringBuilder(strLen); for (int i = 0; i < strLen; i++) { char c = string.charAt(i); -// if (Character.isUpperCase(c) && i > 0) { -// sb.append('_'); -// } - if (Character.isUpperCase(c) && i > 0 && !Character.isUpperCase(string.charAt(i - 1)) && string.charAt(i - 1) != '_') { - sb.append('_'); + if (Character.isUpperCase(c) && i > 0) { + char prev = string.charAt(i - 1); + if (!Character.isUpperCase(prev) && prev != '_') { + sb.append('_'); + } } sb.append(Character.toLowerCase(c)); }