Uploaded image for project: 'Commons Lang'
  1. Commons Lang
  2. LANG-1182

Clarify JavaDoc of StringUtils.containsAny()

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 3.4
    • 3.5
    • lang.*
    • None

    Description

      (1) The javadoc for StringUtils.containsAny(CharSequence cs, CharSequence... searchCharSequences) confusingly says

      • StringUtils.containsAny("abcd", "ab", "cd") = false

      You can verify this actually returns true by running this:

      if (!StringUtils.containsAny("abcd", "ab", "cd"))
      throw new AssertionError("Third sample from StringUtils 3.4 javadoc");

      (2) The javadoc for containsAny(final CharSequence cs, final CharSequence searchChars) is inadequate, and could easily mislead naive readers to believe this containsAny() looks for a matching sequence (substring) rather than characters in a set:

      • StringUtils.containsAny("zzabyycdxx", "za") = true
      • StringUtils.containsAny("zzabyycdxx", "by") = true

      In other words, both examples would be equally true for StringUtils.contains(). I suggest adding clarifying examples, like:

      • StringUtils.containsAny("zzabyycdxx", "\tx") = true
      • StringUtils.containsAny("zzabyycdxx", "$.#yF") = true

      Attachments

        Activity

          People

            britter Benedikt Ritter
            larry_west Larry West
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 1h
                1h
                Remaining:
                Remaining Estimate - 1h
                1h
                Logged:
                Time Spent - Not Specified
                Not Specified