- 開発技術
JavaのMessegeFormatクラスについて
- #Java
この記事を書いたチーム:frontier
用途
【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc. 詳細はこちらから>
メッセージの一部を置き換える場合に使用します。
使用例
以下のようにテンプレートメッセージに一部を変数の値で置き換えることができます。
変数はObject型のため、Integer型の様に数値も指定できます。
例1)一般的な使用方法
1 2 3 4 |
String template = "{0}:{1}の入力に誤りがあります。"; Object[] params = {"E-001","氏名"}; String message = MessageFormat.format(template, params); System.out.println(message);; |
以下の様にメッセージが置換されます。
1 |
E-001:氏名の入力に誤りがあります。 |
例2)テンプレートメッセージに同じ置き換え文字を指定しての使用方法
1 2 3 4 |
String template = "{0}の入力に誤りがあります。{0}を入力してください。"; Object[] params = {"氏名"}; String message = MessageFormat.format(template, params); System.out.println(message);; |
以下の様にメッセージが置換されます。
氏名の入力に誤りがあります。氏名を入力してください。
例3)フォーマットを指定しての使用方法
1 2 3 4 5 6 7 8 |
StringBuilder sb = new StringBuilder(); sb.append("フォーマット指定なし:{0}\r\n"); sb.append("フォーマット指定あり(カンマ無し):{1,number,#}\r\n"); sb.append("フォーマット指定あり(先頭ゼロ埋め):{2,number,00000}"); String template = sb.toString(); Object[] params = {1000,1000,1000}; String message = MessageFormat.format(template, params); System.out.println(message);; |
以下の様にメッセージが置換されます。
1 2 3 |
フォーマット指定なし:1,000 フォーマット指定あり(カンマ無し):1000 フォーマット指定あり(先頭ゼロ埋め):01000 |
【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>