LoginSignup
7
10

More than 3 years have passed since last update.

StringUtilsの使えるメソッド整理

Last updated at Posted at 2020-02-29

StringUtilsには使えるメソッドが一杯あったので使って便利と思ったものを整理しました。

StringUtilsとは

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));
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

第1引数の中に第2引数が含まれているか確認する。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("ぬるぽ");
        }
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("ぬるぽ");
        }
[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



7
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
10