You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2025/01/28 19:03:21 UTC
(commons-text) 01/02: Reuse the JRE's Arrays.fill()
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-text.git
commit 2bc0eb9836d719c15399d06760ef92aa479ede64
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Tue Jan 28 13:55:35 2025 -0500
Reuse the JRE's Arrays.fill()
---
src/main/java/org/apache/commons/text/StrBuilder.java | 19 +++++++------------
1 file changed, 7 insertions(+), 12 deletions(-)
diff --git a/src/main/java/org/apache/commons/text/StrBuilder.java b/src/main/java/org/apache/commons/text/StrBuilder.java
index 2063369b..d0bd4c61 100644
--- a/src/main/java/org/apache/commons/text/StrBuilder.java
+++ b/src/main/java/org/apache/commons/text/StrBuilder.java
@@ -27,6 +27,7 @@ import java.util.List;
import java.util.Objects;
import org.apache.commons.lang3.ArrayUtils;
+import org.apache.commons.lang3.CharUtils;
import org.apache.commons.lang3.StringUtils;
/**
@@ -824,10 +825,9 @@ public class StrBuilder implements CharSequence, Appendable, Serializable, Build
str.getChars(strLen - width, strLen, buffer, size);
} else {
final int padLen = width - strLen;
- for (int i = 0; i < padLen; i++) {
- buffer[size + i] = padChar;
- }
- str.getChars(0, strLen, buffer, size + padLen);
+ final int toIndex = size + padLen;
+ Arrays.fill(buffer, size, toIndex, padChar);
+ str.getChars(0, strLen, buffer, toIndex);
}
size += width;
}
@@ -867,11 +867,9 @@ public class StrBuilder implements CharSequence, Appendable, Serializable, Build
if (strLen >= width) {
str.getChars(0, width, buffer, size);
} else {
- final int padLen = width - strLen;
str.getChars(0, strLen, buffer, size);
- for (int i = 0; i < padLen; i++) {
- buffer[size + strLen + i] = padChar;
- }
+ final int fromIndex = size + strLen;
+ Arrays.fill(buffer, fromIndex, fromIndex + width - strLen, padChar);
}
size += width;
}
@@ -2724,11 +2722,8 @@ public class StrBuilder implements CharSequence, Appendable, Serializable, Build
size = length;
} else if (length > size) {
ensureCapacity(length);
- final int oldEnd = size;
+ Arrays.fill(buffer, size, length, CharUtils.NUL);
size = length;
- for (int i = oldEnd; i < length; i++) {
- buffer[i] = '\0';
- }
}
return this;
}