Java で文字列補間を行う
-
Java の
+
演算子を用いた文字列補間 -
format()
メソッドを使用する Java の文字列補間 -
Java の
MessageFormat
クラスを使用する Java の文字列補間 -
Java の
StringBuilder
クラスを使用する Java 文字列補間 -
Java 15 で
formatted()
メソッドを用いた Java 文字列補間
このチュートリアルでは、Java で文字列補間を行う方法を紹介し、トピックを理解するためにいくつかのコード例をリストアップします。
文字列補間は、プレースホルダを文字列リテラル内の値に置き換えるプロセスです。Java で文字列補間を行うには、String
クラスの format()
メソッド、MessageFormat
クラスの format()
メソッド、StringBuilder
クラス、String
クラスの formatted()
メソッドなどを利用することができます。
Java の +
演算子を用いた文字列補間
これは最も単純なアプローチです。文字列の補間を行うには +
を使用することができます。Java は +
演算子を使って変数と文字列を連結します。ですから、文字列補間にも使えます。以下では、2つの変数を文字列の中に入れて、結果として文字列を取得しています。
public class SimpleTesting {
public static void main(String[] args) {
String site_name = "DelfStack";
String type = "'How to Guide'";
String message = site_name + " is a " + type + " Portal";
System.out.println(message);
}
}
出力:
DelfStack is a 'How to Guide' Portal
format()
メソッドを使用する Java の文字列補間
変数を補間して文字列を整形するには、String
クラスの format()
メソッドを用いることができます。format()
メソッドは 2つの引数を取り、1つ目は文字列の書式で、2つ目は引数のリストです。
public class SimpleTesting {
public static void main(String[] args) {
String site_name = "DelfStack";
String type = "'How to Guide'";
String message = String.format("%s is a %s portal", site_name, type);
System.out.println(message);
}
}
出力:
DelfStack is a 'How to Guide' portal
Java の MessageFormat
クラスを使用する Java の文字列補間
クラス MessageFormat
は文字列補間を行うためのメソッド format()
を提供します。ここでは、変数をプレースホルダ ({0}, {1}, etc)
で文字列に置き換えます。以下の例を参照してください。
import java.text.MessageFormat;
public class SimpleTesting {
public static void main(String[] args) {
String site_name = "DelfStack";
String type = "'How to Guide'";
String message = MessageFormat.format("{0} is a {1} Portal", site_name, type);
System.out.println(message);
}
}
出力:
DelfStack is a 'How to Guide' Portal
Java の StringBuilder
クラスを使用する Java 文字列補間
文字列に変数を追加するには、StringBuilder
クラスの append()
メソッドを使用します。StringBuilder
は、String
のミューティアブル版であり、変数を使って変更することができます。ここでは、変数を補間して文字列を作成しています。
public class SimpleTesting {
public static void main(String[] args) {
String site_name = "DelfStack";
String type = "'How to Guide'";
StringBuilder message = new StringBuilder(site_name)
.append(" is a ")
.append(String.valueOf(type))
.append(" Portal");
System.out.println(message);
}
}
出力:
DelfStack is a 'How to Guide' Portal
Java 15 で formatted()
メソッドを用いた Java 文字列補間
Java 15 以上のバージョンで作業している場合は、formatted()
メソッドを使用することができます。Java はこのメソッドを Java 15 に追加し、文字列の書式設定を可能にした。このメソッドは Object[]
型の単一の引数を取ります。以下の例を参照してください。
public class SimpleTesting {
public static void main(String[] args) {
String site_name[] = {"DelfStack", "How to Guide"};
String message = "%s is a '%s' Portal".formatted(site_name);
System.out.println(message);
}
}
出力:
DelfStack is a 'How to Guide' Portal