Use String.equals() in LiteralPathElement

This commit is contained in:
James Yuzawa 2023-03-18 17:35:36 -04:00 committed by Arjen Poutsma
parent 570d21ebbd
commit 2bc1aa7827
1 changed files with 7 additions and 5 deletions

View File

@ -31,6 +31,8 @@ class LiteralPathElement extends PathElement {
private final char[] text; private final char[] text;
private final String textString;
private final int len; private final int len;
private final boolean caseSensitive; private final boolean caseSensitive;
@ -50,6 +52,7 @@ class LiteralPathElement extends PathElement {
this.text[i] = Character.toLowerCase(literalText[i]); this.text[i] = Character.toLowerCase(literalText[i]);
} }
} }
this.textString = new String(this.text);
} }
@ -70,10 +73,9 @@ class LiteralPathElement extends PathElement {
} }
if (this.caseSensitive) { if (this.caseSensitive) {
for (int i = 0; i < this.len; i++) { // This typically uses a JVM intrinsic
if (value.charAt(i) != this.text[i]) { if (!this.textString.equals(value)) {
return false; return false;
}
} }
} }
else { else {
@ -124,7 +126,7 @@ class LiteralPathElement extends PathElement {
@Override @Override
public String toString() { public String toString() {
return "Literal(" + String.valueOf(this.text) + ")"; return "Literal(" + this.textString + ")";
} }
} }