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

Convert more of the StringUtils API to take CharSequence

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.0
    • Component/s: lang.*
    • Labels:
      None

      Description

      Use CharSequence and not String in the StringUtils API for non-mutating operations.

      Anything which has to choose between the mutable and immutable nature of CharSequence subclasses (i.e. takes a String and returns a String), should not be changed. Anything that does not mutate the input (even in spirit) should use CharSequence.

      Additionally there should be a unit test that uses reflection to confirm this rule is in place.

      Listing remaining methods to move to CharSequence:

      public static boolean equalsIgnoreCase(String str1, String str2) {
      public static int ordinalIndexOf(String str, String searchStr, int ordinal) {
      public static int indexOfIgnoreCase(String str, String searchStr) {
      public static int indexOfIgnoreCase(String str, String searchStr, int startPos) {
      public static int lastOrdinalIndexOf(String str, String searchStr, int ordinal) {
      public static int lastIndexOfIgnoreCase(String str, String searchStr) {
      public static int lastIndexOfIgnoreCase(String str, String searchStr, int startPos) {
      public static boolean containsIgnoreCase(String str, String searchStr) {
      public static int countMatches(String str, String sub) {
      public static boolean startsWith(String str, String prefix) {
      public static boolean startsWithIgnoreCase(String str, String prefix) {
      public static boolean startsWithAny(String string, String... searchStrings) {
      public static boolean endsWith(String str, String suffix) {
      public static boolean endsWithIgnoreCase(String str, String suffix) {
      public static boolean endsWithAny(String string, String... searchStrings) {

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                bayard Henri Yandell
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: