RFR: [15] JDK-8236030: Cleanup use of String.toCharArray
Jonathan Gibbons
jonathan.gibbons at oracle.com
Mon Dec 16 21:10:05 UTC 2019
Please review a tiny change to eliminate a string copy into a temporary
character buffer when removing leading or trailing whitespace from a string.
The affected methods are called within the main code to translate doc
comments to HTML. This is noreg-cleanup/no-reg-trivial, so no new
additional tests.
Webrev below, but the patch is also included here:
---
a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java
Mon Dec 16 15:33:03 2019 -0500
+++
b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java
Mon Dec 16 13:07:18 2019 -0800
@@ -1604,22 +1604,19 @@
}
private String removeTrailingWhitespace(String text) {
- char[] buf = text.toCharArray();
- for (int i = buf.length - 1; i > 0 ; i--) {
- if (!Character.isWhitespace(buf[i]))
- return text.substring(0, i + 1);
+ int i = text.length() - 1;
+ while (i >= 0 && Character.isWhitespace(text.charAt(i))) {
+ i--;
}
- return text;
+ return i == text.length() - 1 ? text : text.substring(0, i + 1);
}
private String removeLeadingWhitespace(String text) {
- char[] buf = text.toCharArray();
- for (int i = 0; i < buf.length; i++) {
- if (!Character.isWhitespace(buf[i])) {
- return text.substring(i);
- }
+ int i = 0;
+ while (i < text.length() &&
Character.isWhitespace(text.charAt(i))) {
+ i++;
}
- return text;
+ return i == 0 ? text : text.substring(i);
}
/**
-- Jon
JBS: https://bugs.openjdk.java.net/browse/JDK-8236030
Webrev: http://cr.openjdk.java.net/~jjg/8236030/webrev/
More information about the javadoc-dev
mailing list