diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/Convert.java b/hutool-core/src/main/java/cn/hutool/core/convert/Convert.java index fd3abafd8..9b2f5b671 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/Convert.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/Convert.java @@ -781,7 +781,6 @@ public class Convert { c[i] = '\u3000'; } else if (c[i] < '\177') { c[i] = (char) (c[i] + 65248); - } } return new String(c); diff --git a/hutool-core/src/main/java/cn/hutool/core/lang/ConsoleTable.java b/hutool-core/src/main/java/cn/hutool/core/lang/ConsoleTable.java index 806f5cee2..9db3384e0 100644 --- a/hutool-core/src/main/java/cn/hutool/core/lang/ConsoleTable.java +++ b/hutool-core/src/main/java/cn/hutool/core/lang/ConsoleTable.java @@ -16,7 +16,7 @@ import java.util.List; */ public class ConsoleTable { - private static final char ROW_LINE = '-'; + private static final char ROW_LINE = '-'; private static final char COLUMN_LINE = '|'; private static final char CORNER = '+'; private static final char SPACE = '\u3000'; @@ -83,9 +83,9 @@ public class ConsoleTable { private void fillColumns(List l, String[] columns) { for (int i = 0; i < columns.length; i++) { String column = columns[i]; - String col = Convert.toSBC(column); - l.add(col); - int width = col.length(); + column = Convert.toSBC(column); + l.add(column); + int width = column.length(); if (width > columnCharNumber.get(i)) { columnCharNumber.set(i, width); } @@ -115,19 +115,19 @@ public class ConsoleTable { * @param list 表头列表或者表体列表 */ private void fillRow(StringBuilder sb, List> list) { - for (List r : list) { - for (int i = 0; i < r.size(); i++) { + for (List row : list) { + for (int i = 0; i < row.size(); i++) { if (i == 0) { sb.append(COLUMN_LINE); } - String header = r.get(i); + String value = row.get(i); sb.append(SPACE); - sb.append(header); + sb.append(value); sb.append(SPACE); - int l = header.length(); - int lw = columnCharNumber.get(i); - if (lw > l) { - for (int j = 0; j < (lw - l); j++) { + int length = value.length(); + int maxLength = columnCharNumber.get(i); + if (maxLength > length) { + for (int j = 0; j < (maxLength - length); j++) { sb.append(SPACE); } } diff --git a/hutool-core/src/main/java/cn/hutool/core/text/CharSequenceUtil.java b/hutool-core/src/main/java/cn/hutool/core/text/CharSequenceUtil.java index fc990bc62..529ed00dc 100644 --- a/hutool-core/src/main/java/cn/hutool/core/text/CharSequenceUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/CharSequenceUtil.java @@ -4437,4 +4437,22 @@ public class CharSequenceUtil { public static String normalize(CharSequence str) { return Normalizer.normalize(str, Normalizer.Form.NFC); } + + /** + * 在给定字符串末尾填充指定字符,以达到给定长度
+ * 如果字符串本身的长度大于等于length,返回原字符串 + * + * @param str 字符串 + * @param fixedChar 补充的字符 + * @param length 补充到的长度 + * @return 补充后的字符串 + * @since 5.8.0 + */ + public static String fixLength(CharSequence str, char fixedChar, int length) { + final int fixedLength = length - str.length(); + if (fixedLength <= 0) { + return str.toString(); + } + return str + repeat(fixedChar, fixedLength); + } }