diff --git a/pmd-java/src/main/resources/category/java/performance.xml b/pmd-java/src/main/resources/category/java/performance.xml
index a4c4dffc31..92f6d98e74 100644
--- a/pmd-java/src/main/resources/category/java/performance.xml
+++ b/pmd-java/src/main/resources/category/java/performance.xml
@@ -699,7 +699,8 @@ public class C {
externalInfoUrl="${pmd.website.baseurl}/pmd_rules_java_performance.html#simplifystartswith">
Since it passes in a literal of length 1, calls to (string).startsWith can be rewritten using (string).charAt(0)
-at the expense of some readability.
+at the expense of some readability. To prevent IndexOutOfBoundsException being thrown by the charAt method,
+ensure that the (string) is not empty by making an additional check first.
3
@@ -730,7 +731,7 @@ public class Foo {
}
boolean fasterCheckIt(String x) {
- return x.charAt(0) == 'a'; // faster approach
+ return !x.isEmpty() && x.charAt(0) == 'a'; // faster approach
}
}
]]>