■ String.format
* C#と同じだが、プレースホルダの形が違う(C言語のprintfの%sや%dなどと同じ) => C# と同じプレースホルダを使用したい場合は、以下の関連記事を参照のこと。http://blogs.yahoo.co.jp/dk521123/34011538.html
サンプル
String value = String.format("Hello World %s!!", "Mike");
プレースホルダー
* %n : 改行コード(機種依存) * 「%」自体:「%%」
「X$」
* 「X$(X:数字)」は、引数の番号を指定できる 以下のような問題(例外「d != java.lang.String」が発生)が起こったhttp://blogs.yahoo.co.jp/dk521123/32205469.html
■ 文字列の連結 : StringBuilder/StringBuffer
* StringBuilder と StringBuffer があるが、基本はStringBuilderでいい (差は、スレッドセーフかどうか)
■ 文字列の区切り
* String.splitを使用する
使用上の注意
* ドット「.」を区切りにする場合、エスケープ「"\\."」する必要がある。 * 以下の関連記事を参照のことhttp://blogs.yahoo.co.jp/dk521123/33742935.html
* 複雑な文字列の分割・抽出については、以下の関連記事を参照のこと。http://blogs.yahoo.co.jp/dk521123/36604177.html
サンプル
public class Main { public static void main(String[] args) { String ipv4 = new String("127.0.0.1"); String[] results = ipv4.split("\\."); for (String result : results) { System.out.println("Result : " + result); } System.out.println("Done"); } }
■ 数値の文字列化
String.valueOf
* 数値→文字列への変換 ※ valueOf は、文字列から他のデータ型にするにも役立つ ex1 Boolean isFalut = Boolean.valueOf("false");サンプル
String value = String.valueOf(100.01);
0埋めする
* (String.format("%XXd", 【数値】)を利用するhttp://write-remember.com/program/java/format/
サンプル
System.out.println(String.format("%05d", 1)); System.out.println(String.format("%05d", 123));.0%");出力
00001 00123
数値をフォーマットする
* DecimalFormat を利用するhttp://java-reference.sakuraweb.com/java_number_format.html
サンプル
DecimalFormat df1 = new DecimalFormat("#,###.##"); System.out.println(df1.format(123456789.4567)); DecimalFormat df2 = new DecimalFormat("#0.0%"); System.out.println(df2.format(0.56789));出力
123,456,789.46 56.8%
数値を16進数(文字列)にする
■ 方法1* Integer.toHexString を利用するhttp://java-reference.sakuraweb.com/java_number_hexa.html
サンプル
System.out.println(Integer.toHexString(10));出力
a
■ 方法2
サンプル
* 16桁を指定して、10を16進数で出力する
* String.format("%0YYX", ...) を利用する ⇒ 桁数を一定にしたい場合に使うhttp://d.hatena.ne.jp/d-kami/20120609/1339238058
サンプル
* 16桁を指定して、10を16進数で出力する
System.out.println(String.format("%016X", 10)); System.out.println(String.format("%016x", 10));出力
000000000000000A 000000000000000a注意
* 指定する際に、大文字「%03X」か小文字「%03x」で、出力される値が変わることに注意