StringUtilsの使えるメソッド整理

StringUtilsには使えるメソッドが一杯あったので使って便利と思ったものを整理しました。
#StringUtilsとは
https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html

String型の文字列編集で色々と便利な操作をまとめたメソッドです。
Stringのメソッドとは違いヌルポが起きないように考慮してくれています。
nullチェックいらずになります。
StringUtilと似てるから注意

##isEmptyとisNotEmpty
isEmptyはStringでもあるけどこっちのはnullを許容、falseを返してくれる。
isNotEmptyはisEmptyの逆。

```isEmpty.isNotEmpty
        String a = "1234";
        String b = "";
        String c = null;

        try {
        System.out.println(StringUtils.isEmpty(a));
        System.out.println(StringUtils.isNotEmpty(a));
        System.out.println(a.isEmpty());
        System.out.println(StringUtils.isEmpty(b));
        System.out.println(StringUtils.isNotEmpty(b));
        System.out.println(b.isEmpty());
        System.out.println(StringUtils.isEmpty(c));
        System.out.println(StringUtils.isNotEmpty(c));
        System.out.println(c.isEmpty());
        }catch (Exception e) {
            System.out.println("ぬるぽ");
        }
```
```result.
false
true
false
true
false
true
true
false
ぬるぽ
```

##isBlankとisNotBlank
Stringには無い空白とnullを確かめてくれるメソッド。
変数の中の全てが空白でないと空白判定はされない。

```isBlank.isNotBlank
        String a = "1234";
        String b = "12 4";
        String c = " ";
        String d = "　";
        String e = "";
        String f = null;

        System.out.println(StringUtils.isBlank(a));
        System.out.println(StringUtils.isNotBlank(a));
        System.out.println(StringUtils.isBlank(b));
        System.out.println(StringUtils.isNotBlank(b));
        System.out.println(StringUtils.isBlank(c));
        System.out.println(StringUtils.isNotBlank(c));
        System.out.println(StringUtils.isBlank(d));
        System.out.println(StringUtils.isNotBlank(d));
        System.out.println(StringUtils.isBlank(e));
        System.out.println(StringUtils.isNotBlank(e));
        System.out.println(StringUtils.isBlank(f));
        System.out.println(StringUtils.isNotBlank(f));
```
```result.
false
true
false
true
true
false
true
false
true
false
true
false
```

##isAllLowerCase
小文字のみであるかを確認する。
空白、空文字、nullはfalse

```isAllLowerCase.
        String a = "a";
        String b = "A";
        String c = "Aa";
        String d = "あ";
        String e = "1";
        String f = " ";
        String h = null;

        System.out.println(StringUtils.isAllLowerCase(a));
        System.out.println(StringUtils.isAllLowerCase(b));
        System.out.println(StringUtils.isAllLowerCase(c));
        System.out.println(StringUtils.isAllLowerCase(d));
        System.out.println(StringUtils.isAllLowerCase(e));
        System.out.println(StringUtils.isAllLowerCase(f));
        System.out.println(StringUtils.isAllLowerCase(h));
```
```result
true
false
false
false
false
false
false
```

##isAllUpperCase
大文字のみであるか確認する。
空白、空文字、nullはfalse

```isAllUpperCase.
        String a = "a";
        String b = "A";
        String c = "Aa";
        String d = "あ";
        String e = "1";
        String f = " ";
        String h = null;

        System.out.println(StringUtils.isAllUpperCase(a));
        System.out.println(StringUtils.isAllUpperCase(b));
        System.out.println(StringUtils.isAllUpperCase(c));
        System.out.println(StringUtils.isAllUpperCase(d));
        System.out.println(StringUtils.isAllUpperCase(e));
        System.out.println(StringUtils.isAllUpperCase(f));
        System.out.println(StringUtils.isAllUpperCase(h));
```
```result.
false
true
false
false
false
false
false
```

##isAlphaとisAlphaSpace
isAlphaは文字であるか否かを確認する。数字、空白、空文字、nullはfalse
isAlphaSpaceはisAlphaの空白許容版

```isAlpha.isAlphaSpace
        String a = "a";
        String b = "A";
        String c = "1";
        String d = "1aB";
        String e = "あ";
        String f = " ";
        String h = null;

        System.out.println(StringUtils.isAlpha(a));
        System.out.println(StringUtils.isAlpha(b));
        System.out.println(StringUtils.isAlpha(c));
        System.out.println(StringUtils.isAlpha(d));
        System.out.println(StringUtils.isAlpha(e));
        System.out.println(StringUtils.isAlpha(f));
        System.out.println(StringUtils.isAlpha(h));
```
```result.
true
true
false
false
true
false
false
```

##isNumericとisNumericSpace
isNumericは数字かどうか確認を行う。数字、空白、空文字、nullはfalse
isNumericSpaceはisNumericの空白許容版

```isNumeric.isNumericSpace
        String a = "a";
        String b = "A";
        String c = "1";
        String d = "1aB";
        String e = "あ";
        String f = " ";
        String h = null;

        System.out.println(StringUtils.isNumeric(a));
        System.out.println(StringUtils.isNumeric(b));
        System.out.println(StringUtils.isNumeric(c));
        System.out.println(StringUtils.isNumeric(d));
        System.out.println(StringUtils.isNumeric(e));
        System.out.println(StringUtils.isNumeric(f));
        System.out.println(StringUtils.isNumeric(h));
```
```result.
false
false
true
false
false
false
false
```

##isAlphanumericとisAlphanumericSpace
isAlphanumeric = isAlpha + isNumeric
isAlphanumericSpace = isAlphaSpace + isNumericSpace

```isAlphanumeric.isAlphanumericSpace
        String a = "a";
        String b = "A";
        String c = "1";
        String d = "1aB";
        String e = "あ";
        String f = " ";
        String h = null;

        System.out.println(StringUtils.isAlphanumeric(a));
        System.out.println(StringUtils.isAlphanumericSpace(a));
        System.out.println(StringUtils.isAlphanumeric(b));
        System.out.println(StringUtils.isAlphanumericSpace(b));
        System.out.println(StringUtils.isAlphanumeric(c));
        System.out.println(StringUtils.isAlphanumericSpace(c));
        System.out.println(StringUtils.isAlphanumeric(d));
        System.out.println(StringUtils.isAlphanumericSpace(d));
        System.out.println(StringUtils.isAlphanumeric(e));
        System.out.println(StringUtils.isAlphanumericSpace(e));
        System.out.println(StringUtils.isAlphanumeric(f));
        System.out.println(StringUtils.isAlphanumericSpace(f));
        System.out.println(StringUtils.isAlphanumeric(h));
        System.out.println(StringUtils.isAlphanumericSpace(h));
```
```result.
true
true
true
true
true
true
true
true
true
true
false
true
false
false
```

##containsとcontainsNone
第１引数の中に第２引数が含まれているか確認する。null許容。
containsNoneはcontainsの反対

```contains.containsNone
        String tar = "abcdef";
        String a = "a";
        String b = "B";
        String c = "abc";
        String d = "abC";
        String e = "";
        String f = null;

        try {
            System.out.println(StringUtils.contains(tar, a));
            System.out.println(StringUtils.containsNone(tar, a));
            System.out.println(tar.contains(a));
            System.out.println(StringUtils.contains(tar, b));
            System.out.println(StringUtils.containsNone(tar, b));
            System.out.println(tar.contains(b));
            System.out.println(StringUtils.contains(tar, c));
            System.out.println(StringUtils.containsNone(tar, c));
            System.out.println(tar.contains(c));
            System.out.println(StringUtils.contains(tar, d));
            System.out.println(StringUtils.containsNone(tar, d));
            System.out.println(tar.contains(d));
            System.out.println(StringUtils.contains(tar, e));
            System.out.println(StringUtils.containsNone(tar, e));
            System.out.println(tar.contains(e));
            System.out.println(StringUtils.contains(tar, f));
            System.out.println(StringUtils.containsNone(tar, f));
            System.out.println(tar.contains(f));
        } catch (Exception ex) {
            System.out.println("ぬるぽ");
        }
```
```result
true
false
true
false
true
false
true
false
true
false
false
false
true
true
true
false
true
ぬるぽ
```

##equals
Stringのequalsメソッドのnullチェック版です。
どちらがnullでも使える。ただしどっちもnullでもfalseになる。

```equals.
        String a = "a";
        String b = "abc";
        String c = " ";
        String d = "";
        String e = null;
        
        try {
            System.out.println(StringUtils.equals(a, a));
            System.out.println(a.equals(a));
            System.out.println(StringUtils.equals(a, b));
            System.out.println(a.equals(b));
            System.out.println(StringUtils.equals(a, c));
            System.out.println(a.equals(c));
            System.out.println(StringUtils.equals(a, d));
            System.out.println(a.equals(d));
            System.out.println(StringUtils.equals(a, e));
            System.out.println(a.equals(e));
            System.out.println(StringUtils.equals(c, c));
            System.out.println(c.equals(c));
            System.out.println(StringUtils.equals(c, d));
            System.out.println(c.equals(d));
            System.out.println(StringUtils.equals(d, d));
            System.out.println(d.equals(d));
            System.out.println(StringUtils.equals(d, e));
            System.out.println(e.equals(e));
            System.out.println(StringUtils.equals(e, e));
            System.out.println(StringUtils.equals(e, a));
            System.out.println(e.equals(e));
        } catch (Exception ex) {
            System.out.println("ぬるぽ");
        }
```
```result.
true
true
false
false
false
false
false
false
false
false
true
true
false
false
true
true
false
ぬるぽ
```

##join
文字列のリストを,(カンマ)区切りでならべて一つの文字列にしてくれる。
Stringオブジェクトのjoinはリストオブジェクトがnullの場合ヌルポで落ちてしまう。

```join.
        List<String> strList = new ArrayList<>();
        List<String> nullList = null;
        try {
            for (int i = 0; i < 10; i++) {
                strList.add(Integer.toString(i));
            }
            strList.add(" ");
            strList.add("");
            strList.add(null);

            System.out.println(StringUtils.join(strList));
            System.out.println(StringUtils.join(nullList));
            System.out.println(String.join(",", nullList));
        } catch (Exception e) {
            System.out.println("ぬるぽ");
        }
```
```result
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9,  , , null]

ぬるぽ
```

##leftPad、rightPad
文字列の左、右側を指定の文字数になるように空白で埋めてくれる。
空白梅ではなく埋める文字を指定する事もできる。

```leftPad.rightPad
        String a = "a";
        System.out.println(StringUtils.leftPad(a, 5));
        System.out.println(StringUtils.leftPad(a, 5, "0"));
        System.out.println(StringUtils.rightPad(a, 5));
        System.out.println(StringUtils.rightPad(a, 5, "0"));
```
```result.
    a
0000a
a    
a0000
```

##repeat
指定文字列を指定数繰り返した文字列を作成してくれる。
なおnullの場合は繰り返さない。

```repeat.
        String a = "abc";
        String b = " ";
        String c = "";
        String d = null;
        System.out.println(StringUtils.repeat(a, 5));
        System.out.println(StringUtils.repeat(b, 5));
        System.out.println(StringUtils.repeat(c, 5));
        System.out.println(StringUtils.repeat(d, 5));
```
```result.
abcabcabcabcabc
     

null
```


##swapCase
大文字を小文字に、小文字を大文字に自動変換！

```swapCase.
        String a = "abcdefgh";
        String b = "ABCDEFGH";
        String c = "aBcDeFgH";
        System.out.println(StringUtils.swapCase(a));
        System.out.println(StringUtils.swapCase(b));
        System.out.println(StringUtils.swapCase(c));
```
```result.
ABCDEFGH
abcdefgh
AbCdEfGh
```

##defaultString
対象文字列がnullの場合に空文字に変更してくれます。
nullを表示したくないときに便利。

```defaultString.
        String a = "abc";
        String b = " ";
        String c = "";
        String d = null;
        System.out.println(StringUtils.defaultString(a));
        System.out.println(StringUtils.defaultString(b));
        System.out.println(StringUtils.defaultString(c));
        System.out.println(StringUtils.defaultString(d));
```
```result.
abc
    


```