public static int countMatches(final String str, final char ch) {
        if (isEmpty(str)) {
            return 0;
        }
        int count = 0;
        // We could also call str.toCharArray() for faster look ups but that would generate more garbage.
        for (int i = 0; i < str.length(); i++) {
            if (ch == str.charAt(i)) {
                count++;
            }
        }
        return count;
    }
<p>Counts how many times the char appears in the given string.</p>

<p>A {@code null} or empty ("") String input returns {@code 0}.</p>

<pre>
StringUtils.countMatches(null, *)       = 0
StringUtils.countMatches("", *)         = 0
StringUtils.countMatches("abba", 0)  = 0
StringUtils.countMatches("abba", 'a')   = 2
StringUtils.countMatches("abba", 'b')  = 2
StringUtils.countMatches("abba", 'x') = 0
</pre>

@param str  the CharSequence to check, may be null
@param ch  the char to count
@return the number of occurrences, 0 if the CharSequence is {@code null}
@since 3.4
primefaces/src/main/java/org/primefaces/util/LangUtils.java