Java基礎ー文字列操作

文字列操作

Java標準のクラスで文字列操作を行うことができる。
以下は代表歴なものの使用例。

public class Main {

    public static void main(String[] args) {
        List<String> list = List.of("abc", "def", "ghi");

        // 文字列の連結
        // 1. +を使用する
        String str = list.get(0) + "," + list.get(1) + "," + list.get(2);
        System.out.println(str);

        // 2. StringBuilderを使用する
        StringBuilder builder = new StringBuilder();
        builder.append(list.get(0));
        builder.append(",");
        builder.append(list.get(1));
        builder.append(",");
        builder.append(list.get(2));
        System.out.println(builder.toString());

        // 3. concatメソッドを使う
        String ss = list.get(0).concat(",").concat(list.get(1)).concat(",").concat(list.get(2));
        System.out.println(ss);

        // 4. StringJoinerを使う
        StringJoiner joiner = new StringJoiner(",");
        joiner.add(list.get(0));
        joiner.add(list.get(1));
        joiner.add(list.get(2));
        System.out.println(joiner.toString());

        // 文字列の長さを取得する
        str.length();

        // 文字列の切り抜き
        System.out.println(str.substring(3));
        System.out.println(str.substring(3, 5));

        // 前後のスペースをトリミング
        String trim = "   あいうえお   ".trim();
        System.out.println(String.format("[%s]", trim));

        // 引数に指定した文字区切りにする
        String[] split = ss.split(",");
        for (String s : split) {
            System.out.println(s);
        }

        // 文字を入れ替える
        String replace = ss.replace("a", "x");
        System.out.println(replace);

        // 指定した数だけ繰り返す
        String repeat = "りんご".repeat(3);
        System.out.println(repeat);

        String name = "山田";
        int age = 30;
        System.out.printf("私の名前は%sです。\n年齢は%d歳です。\n", name, age);
    }
}

commons-lang3のStringUtilsクラスを使用することで、上記のメソッドで出来ることを nullの場合の考慮込みで簡単に使用することが出来る。

StringUtils (Apache Commons Lang 3.12.0 API)