パンくず
書籍 パーフェクトJava
文字について
概要
文字について
文字について
Javaの文字はUnicodeで扱われます。
Unicodeは1文字2バイトで取り扱われるため、
Javaで文字を表すデータ型であるcharは2バイトの数値で表されます。
通常のJavaの処理は文字列が基本であるため文字を意識する必要はありませんが
処理上どうしても1文字単位での処理が必要な場合はchar型での処理を行います。
エスケープ文字一覧
シーケンス | 内容 |
---|---|
\n | 改行(LF) |
\t | タブ |
\b | ベル |
\r | 改行(CR) |
\f | フィード |
\\ | バックスラッシュ |
\' | シングルクォート(文字の場合のみ) |
\" | ダブルクォート(文字列の場合のみ) |
\ddd | 8進数。dは0-7の数値 |
\uxxxx | Unicodeのコード |
文字と文字列の変換
以下のサンプルの内容で変換を行うことが出来ます。
サンプルコード
package perfect.string; public class Perfect2_3_1 { /** * @param args */ public static void main(String[] args) { // Stringからcharへの変換 System.out.println("String to char[]"); String hoge = "hoge"; char[] chars = hoge.toCharArray(); int i = 1; for (char ch : chars) { System.out.println(i + ":" + ch); i++; } System.out.println("-----------------------------------"); System.out.println("StringBuilder to char[]"); // StringBuilderからcharへの変換 StringBuilder sb = new StringBuilder("hage"); char[] charsSb = new char[sb.length()]; sb.getChars(0, chars.length, charsSb, 0); i = 1; for (char ch : charsSb) { System.out.println(i + ":" + ch); i++; } System.out.println("-----------------------------------"); System.out.println("char[] to String"); char[] charsRev = {'h', 'i', 'g', 'e'}; String hogeRev = new String(charsRev); System.out.println(hogeRev); System.out.println("-----------------------------------"); System.out.println("char[] to StringBuilder"); char[] charsRevSb = {'h', 'u', 'g', 'e'}; StringBuilder hogeRevSb = new StringBuilder(); hogeRevSb.append(charsRevSb); System.out.println(hogeRevSb); } }
出力
String to char[] 1:h 2:o 3:g 4:e ----------------------------------- StringBuilder to char[] 1:h 2:a 3:g 4:e ----------------------------------- char[] to String hige ----------------------------------- char[] to StringBuilder huge