[ https://issues.apache.org/jira/browse/LANG-1300?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15903350#comment-15903350 ]
ASF GitHub Bot commented on LANG-1300: -------------------------------------- Github user coveralls commented on the issue: https://github.com/apache/commons-lang/pull/251 [![Coverage Status](https://coveralls.io/builds/10513391/badge)](https://coveralls.io/builds/10513391) Coverage increased (+0.04%) to 94.576% when pulling **b45435c950e6f6864671bdffde29e26cdc8ce15b on MarkDacek:Lang1300CharSequenceUtilsChange** into **6597c196521af500feef7a02610727eafa7ec1dc on apache:master**. > Clarify or improve behaviour of int-based methods in StringUtils > ---------------------------------------------------------------- > > Key: LANG-1300 > URL: https://issues.apache.org/jira/browse/LANG-1300 > Project: Commons Lang > Issue Type: Improvement > Components: lang.* > Affects Versions: 3.5 > Reporter: Duncan Jones > Priority: Minor > Fix For: Discussion > > > The following methods use an {{int}} to represent a search character: > {code:java} > boolean contains(final CharSequence seq, final int searchChar) > int indexOf(final CharSequence seq, final int searchChar) > int indexOf(final CharSequence seq, final int searchChar, final int startPos) > int lastIndexOf(final CharSequence seq, final int searchChar) > int lastIndexOf(final CharSequence seq, final int searchChar, final int > startPos) > {code} > When I see an {{int}} representing a character, I tend to assume the method > can handle supplementary characters. However, the current behaviour of these > methods depends upon whether the {{CharSequence}} is a {{String}} or not. > {code:java} > StringBuilder builder = new StringBuilder(); > builder.appendCodePoint(0x2070E); > System.out.println(StringUtils.lastIndexOf(builder, 0x2070E)); // -1 > System.out.println(StringUtils.lastIndexOf(builder.toString(), 0x2070E)); // 0 > {code} > The Javadoc for these methods are ambiguous on this point, stating: > {quote} > This method uses {{String.lastIndexOf(int)}} if possible. > {quote} > I think we should consider updating the {{CharSequenceUtils}} methods used by > this class to convert all {{CharSequence}} parameters to strings, enabling > full code point support. The docs could be updated to make this crystal clear. > There is a question of whether this breaks backwards compatibility. -- This message was sent by Atlassian JIRA (v6.3.15#6346)