commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Bazos (JIRA)" <>
Subject [jira] [Commented] (LANG-1030) StringUtils.same opposite method to StringUtils.differ
Date Mon, 21 Jul 2014 13:20:38 GMT


Michael Bazos commented on LANG-1030:

I don't think getCommonPrefix is what I am looking for.  Basically this method would act the
same as equalsIgnoreCase but instead of returning a boolean it would return a new string representation
of str1.  This is really a connivence method to save a couple lines of code but I figured
this would be the appropriate place to ask the question.

getCommonPrefix does the following:
 StringUtils.getCommonPrefix(new String[] {"abc", "a"}) = "a"
 StringUtils.getCommonPrefix(new String[] {"ab", "abxyz"}) = "ab"

Where the same method would yield:
StringUtils.same("abc", "a") = null
StringUtils.same("ab", "abxyz") = null
StringUtils.same("123", "1234") = null

Also I was thinking there could also be an overloaded method with a default if the result
is empty:
same(String str1, String str2)
same(String str1, String str2, String defaultIfEmpty)

I agree the name isn't great, so if either of you can think of a better name I am all for

> StringUtils.same opposite method to StringUtils.differ
> ------------------------------------------------------
>                 Key: LANG-1030
>                 URL:
>             Project: Commons Lang
>          Issue Type: Improvement
>    Affects Versions: 3.3.2
>            Reporter: Michael Bazos
>            Priority: Trivial
>              Labels: StringUtils
>             Fix For: Review Patch, Discussion
> This is pretty easy to do but I have seen this come up and was surprised to find that
StringUtils didn't have a utility method.
> The difference() method is described as doing the following:
> Compares two Strings, and returns the portion where they differ.
> What I am proposing is essentially the opposite of the difference method called same().
 This method would compare two String and return a new String when they are the same.
> This is essentially the implementation:
> {code:java}
>     public static String same(String str1, String str2) {
>         if (str1 != null && StringUtils.equalsIgnoreCase(str1, str2)) {
>             return new String(str1);
>         }
>         return null;
>     }
> {code}
> {code:java}
> StringUtils.same(null, null) = null
> StringUtils.same("", "") = "";
> StringUtils.same("123", "") = null
> StringUtils.same("123", "123") = "123";
> {code}
> If there is already a way to do this using the apache lang library please point me in
the right direction.  Otherwise I would be more than happy to do the testing, coding and documentation
for this.

This message was sent by Atlassian JIRA

View raw message