Java : Character (文字) - API使用例
Character (Java SE 18 & JDK 18) の使用例まとめです。
だいたいのメソッドを網羅済みです。
API仕様のおともにどうぞ。
概要
Characterクラスは、プリミティブ型charの値をオブジェクトにラップします。 クラスCharacterのオブジェクトには、タイプがcharである単一のフィールドが含まれます。
Characterは、プリミティブ型 char のラッパークラスです。
char は Object ではないので、そのままでは List などのコレクションに追加できません。
そんなときは、 Characterクラスで char をラップすると追加が可能となります。
// コンパイルエラー
final var list = new ArrayList<char>();
// コンパイルOK
final var list = new ArrayList<Character>();
list.add('a');
list.add('b');
list.add('c');
System.out.println(list); // [a, b, c]
他には、
- 文字が数字かどうか判定(isDigit)
- 小文字を大文字に変換(toUpperCase)
などなど、文字に関するメソッドがいろいろとそろっています。
System.out.println(Character.isDigit('1')); // true
System.out.println(Character.isDigit('2')); // true
System.out.println(Character.isDigit('Z')); // false
System.out.println(Character.toUpperCase('a')); // A
System.out.println(Character.toUpperCase('b')); // B
System.out.println(Character.toUpperCase('c')); // C
関連記事:プリミティブ型 (基本データ型)
フィールド
static final int BYTES
符号なしバイナリ形式でchar値を表すために使用されるバイト数。
System.out.println(Character.BYTES); // 2
static final byte COMBINING_SPACING_MARK
Unicode仕様の汎用カテゴリ「Mc」。
System.out.println(Character.COMBINING_SPACING_MARK); // 8
System.out.println(Character.getType('ः')); // 8
System.out.println(Character.getType('ᤣ')); // 8
static final byte CONNECTOR_PUNCTUATION
Unicode仕様の汎用カテゴリ「Pc」。
System.out.println(Character.CONNECTOR_PUNCTUATION); // 23
System.out.println(Character.getType('_')); // 23
System.out.println(Character.getType('﹏')); // 23
static final byte CONTROL
Unicode仕様の汎用カテゴリ「Cc」。
System.out.println(Character.CONTROL); // 15
System.out.println(Character.getType('\u0000')); // 15
System.out.println(Character.getType('\u001b')); // 15
static final byte CURRENCY_SYMBOL
Unicode仕様の汎用カテゴリ「Sc」。
System.out.println(Character.CURRENCY_SYMBOL); // 26
System.out.println(Character.getType('$')); // 26
System.out.println(Character.getType('¥')); // 26
static final byte DASH_PUNCTUATION
Unicode仕様の汎用カテゴリ「Pd」。
System.out.println(Character.DASH_PUNCTUATION); // 20
System.out.println(Character.getType('-')); // 20
System.out.println(Character.getType('〜')); // 20
static final byte DECIMAL_DIGIT_NUMBER
Unicode仕様の汎用カテゴリ「Nd」。
System.out.println(Character.DECIMAL_DIGIT_NUMBER); // 9
System.out.println(Character.getType('1')); // 9
System.out.println(Character.getType('2')); // 9
static final byte DIRECTIONALITY_ARABIC_NUMBER
Unicode仕様の弱い双方向文字タイプ「AN」。
System.out.println(Character.DIRECTIONALITY_ARABIC_NUMBER); // 6
System.out.println(Character.getDirectionality('٠')); // 6
System.out.println(Character.getDirectionality('٢')); // 6
static final byte DIRECTIONALITY_BOUNDARY_NEUTRAL
Unicode仕様の弱い双方向文字タイプ「BN」。
System.out.println(Character.DIRECTIONALITY_BOUNDARY_NEUTRAL); // 9
System.out.println(Character.getDirectionality('\u0000')); // 9
System.out.println(Character.getDirectionality('\u001b')); // 9
static final byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR
Unicode仕様の弱い双方向文字タイプ「CS」。
System.out.println(Character.DIRECTIONALITY_COMMON_NUMBER_SEPARATOR); // 7
System.out.println(Character.getDirectionality(',')); // 7
System.out.println(Character.getDirectionality(':')); // 7
static final byte DIRECTIONALITY_EUROPEAN_NUMBER
Unicode仕様の弱い双方向文字タイプ「EN」。
System.out.println(Character.DIRECTIONALITY_EUROPEAN_NUMBER); // 3
System.out.println(Character.getDirectionality('1')); // 3
System.out.println(Character.getDirectionality('2')); // 3
static final byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR
Unicode仕様の弱い双方向文字タイプ「ES」。
System.out.println(Character.DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR); // 4
System.out.println(Character.getDirectionality('+')); // 4
System.out.println(Character.getDirectionality('-')); // 4
static final byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR
Unicode仕様の弱い双方向文字タイプ「ET」。
System.out.println(Character.DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR); // 5
System.out.println(Character.getDirectionality('#')); // 5
System.out.println(Character.getDirectionality('$')); // 5
static final byte DIRECTIONALITY_FIRST_STRONG_ISOLATE
Unicode仕様の弱い双方向文字型"FSI"。
System.out.println(Character.DIRECTIONALITY_FIRST_STRONG_ISOLATE); // 21
System.out.println(Character.getDirectionality('\u2068')); // 21
static final byte DIRECTIONALITY_LEFT_TO_RIGHT
Unicode仕様の強力な双方向文字タイプ「L」。
System.out.println(Character.DIRECTIONALITY_LEFT_TO_RIGHT); // 0
System.out.println(Character.getDirectionality('A')); // 0
System.out.println(Character.getDirectionality('B')); // 0
static final byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING
Unicode仕様の強力な双方向文字タイプ「LRE」。
System.out.println(Character.DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING); // 14
System.out.println(Character.getDirectionality('\u202a')); // 14
static final byte DIRECTIONALITY_LEFT_TO_RIGHT_ISOLATE
Unicode仕様の弱い双方向文字型"LRI"。
System.out.println(Character.DIRECTIONALITY_LEFT_TO_RIGHT_ISOLATE); // 19
System.out.println(Character.getDirectionality('\u2066')); // 19
static final byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE
Unicode仕様の強力な双方向文字タイプ「LRO」。
System.out.println(Character.DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE); // 15
System.out.println(Character.getDirectionality('\u202d')); // 15
static final byte DIRECTIONALITY_NONSPACING_MARK
Unicode仕様の弱い双方向文字タイプ「NSM」。
System.out.println(Character.DIRECTIONALITY_NONSPACING_MARK); // 8
System.out.println(Character.getDirectionality('̀')); // 8
System.out.println(Character.getDirectionality('̃')); // 8
static final byte DIRECTIONALITY_OTHER_NEUTRALS
Unicode仕様のニュートラルな双方向文字タイプ「ON」。
System.out.println(Character.DIRECTIONALITY_OTHER_NEUTRALS); // 13
System.out.println(Character.getDirectionality('!')); // 13
System.out.println(Character.getDirectionality('&')); // 13
static final byte DIRECTIONALITY_PARAGRAPH_SEPARATOR
Unicode仕様のニュートラルな双方向文字タイプ「B」。
System.out.println(Character.DIRECTIONALITY_PARAGRAPH_SEPARATOR); // 10
System.out.println(Character.getDirectionality('\n')); // 10
System.out.println(Character.getDirectionality('\r')); // 10
static final byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT
Unicode仕様の弱い双方向文字タイプ「PDF」。
System.out.println(Character.DIRECTIONALITY_POP_DIRECTIONAL_FORMAT); // 18
System.out.println(Character.getDirectionality('\u202c')); // 18
static final byte DIRECTIONALITY_POP_DIRECTIONAL_ISOLATE
Unicode仕様の弱い双方向文字型"PDI"。
System.out.println(Character.DIRECTIONALITY_POP_DIRECTIONAL_ISOLATE); // 22
System.out.println(Character.getDirectionality('\u2069')); // 22
static final byte DIRECTIONALITY_RIGHT_TO_LEFT
Unicode仕様の強力な双方向文字タイプ「R」。
System.out.println(Character.DIRECTIONALITY_RIGHT_TO_LEFT); // 1
System.out.println(Character.getDirectionality('א')); // 1
System.out.println(Character.getDirectionality('ט')); // 1
static final byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC
Unicode仕様の強力な双方向文字タイプ「AL」。
System.out.println(Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC); // 2
System.out.println(Character.getDirectionality('؈')); // 2
System.out.println(Character.getDirectionality('ب')); // 2
static final byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING
Unicode仕様の強力な双方向文字タイプ「RLE」。
System.out.println(Character.DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING); // 16
System.out.println(Character.getDirectionality('\u202b')); // 16
static final byte DIRECTIONALITY_RIGHT_TO_LEFT_ISOLATE
Unicode仕様の弱い双方向文字型"RLI"。
System.out.println(Character.DIRECTIONALITY_RIGHT_TO_LEFT_ISOLATE); // 20
System.out.println(Character.getDirectionality('\u2067')); // 20
static final byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE
Unicode仕様の強力な双方向文字タイプ「RLO」。
System.out.println(Character.DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE); // 17
System.out.println(Character.getDirectionality('\u202e')); // 17
static final byte DIRECTIONALITY_SEGMENT_SEPARATOR
Unicode仕様のニュートラルな双方向文字タイプ「S」。
System.out.println(Character.DIRECTIONALITY_SEGMENT_SEPARATOR); // 11
System.out.println(Character.getDirectionality('\t')); // 11
static final byte DIRECTIONALITY_UNDEFINED
未定義の双方向文字タイプ。
System.out.println(Character.DIRECTIONALITY_UNDEFINED); // -1
System.out.println(Character.getDirectionality('\uFFFF')); // -1
static final byte DIRECTIONALITY_WHITESPACE
Unicode仕様のニュートラルな双方向文字タイプ「WS」。
System.out.println(Character.DIRECTIONALITY_WHITESPACE); // 12
System.out.println(Character.getDirectionality(' ')); // 12
static final byte ENCLOSING_MARK
Unicode仕様の汎用カテゴリ「Me」。
System.out.println(Character.ENCLOSING_MARK); // 7
System.out.println(Character.getType('⃣')); // 7
System.out.println(Character.getType('⃠')); // 7
static final byte END_PUNCTUATION
Unicode仕様の汎用カテゴリ「Pe」。
System.out.println(Character.END_PUNCTUATION); // 22
System.out.println(Character.getType(')')); // 22
System.out.println(Character.getType(']')); // 22
static final byte FINAL_QUOTE_PUNCTUATION
Unicode仕様の汎用カテゴリ「Pf」。
System.out.println(Character.FINAL_QUOTE_PUNCTUATION); // 30
System.out.println(Character.getType('”')); // 30
System.out.println(Character.getType('»')); // 30
static final byte FORMAT
Unicode仕様の汎用カテゴリ「Cf」。
System.out.println(Character.FORMAT); // 16
System.out.println(Character.getType('\u00ad')); // 16
static final byte INITIAL_QUOTE_PUNCTUATION
Unicode仕様の汎用カテゴリ「Pi」。
System.out.println(Character.INITIAL_QUOTE_PUNCTUATION); // 29
System.out.println(Character.getType('“')); // 29
System.out.println(Character.getType('«')); // 29
static final byte LETTER_NUMBER
Unicode仕様の汎用カテゴリ「Nl」。
System.out.println(Character.LETTER_NUMBER); // 10
System.out.println(Character.getType('Ⅱ')); // 10
System.out.println(Character.getType('ᛯ')); // 10
static final byte LINE_SEPARATOR
Unicode仕様の汎用カテゴリ「Zl」。
System.out.println(Character.LINE_SEPARATOR); // 13
System.out.println(Character.getType('\u2028')); // 13
static final byte LOWERCASE_LETTER
Unicode仕様の汎用カテゴリ「Ll」。
System.out.println(Character.LOWERCASE_LETTER); // 2
System.out.println(Character.getType('a')); // 2
System.out.println(Character.getType('ē')); // 2
static final byte MATH_SYMBOL
Unicode仕様の汎用カテゴリ「Sm」。
System.out.println(Character.MATH_SYMBOL); // 25
System.out.println(Character.getType('+')); // 25
System.out.println(Character.getType('=')); // 25
static final int MAX_CODE_POINT
Unicodeコード・ポイントの最大値(定数U+10FFFF)。
System.out.printf("%x%n", Character.MAX_CODE_POINT); // 10ffff
static final char MAX_HIGH_SURROGATE
UTF-16エンコーディングでのUnicode上位サロゲート・コード単位の最大値(定数'\uDBFF')。
System.out.println(Integer.toHexString(Character.MAX_HIGH_SURROGATE)); // dbff
static final char MAX_LOW_SURROGATE
UTF-16エンコーディングでのUnicode下位サロゲート・コード単位の最大値(定数'\uDFFF')。
System.out.println(Integer.toHexString(Character.MAX_LOW_SURROGATE)); // dfff
static final int MAX_RADIX
文字列との変換に使用可能な最大基数です。
System.out.println(Character.MAX_RADIX); // 36
static final char MAX_SURROGATE
UTF-16エンコーディングでのUnicodeサロゲート・コード単位の最大値(定数'\uDFFF')。
System.out.println(Integer.toHexString(Character.MAX_SURROGATE)); // dfff
static final char MAX_VALUE
このフィールドの定数値は、char型の最大値'\uFFFF'です。
System.out.println(Integer.toHexString(Character.MAX_VALUE)); // ffff
static final int MIN_CODE_POINT
Unicodeコード・ポイントの最小値(定数U+0000)。
System.out.println(Integer.toHexString(Character.MIN_CODE_POINT)); // 0
static final char MIN_HIGH_SURROGATE
UTF-16エンコーディングでのUnicode上位サロゲート・コード単位の最小値(定数'\uD800')。
System.out.println(Integer.toHexString(Character.MIN_HIGH_SURROGATE)); // d800
static final char MIN_LOW_SURROGATE
UTF-16エンコーディングでのUnicode下位サロゲート・コード単位の最小値(定数'\uDC00')。
System.out.println(Integer.toHexString(Character.MIN_LOW_SURROGATE)); // dc00
static final int MIN_RADIX
文字列との変換に使用可能な最小基数です。
System.out.println(Character.MIN_RADIX); // 2
static final int MIN_SUPPLEMENTARY_CODE_POINT
Unicode補助コード・ポイントの最小値(定数U+10000)。
System.out.println(Integer.toHexString(Character.MIN_SUPPLEMENTARY_CODE_POINT)); // 10000
static final char MIN_SURROGATE
UTF-16エンコーディングでのUnicodeサロゲート・コード単位の最小値(定数'\uD800')。
System.out.println(Integer.toHexString(Character.MIN_SURROGATE)); // d800
static final char MIN_VALUE
このフィールドの定数値は、char型の最小値'\u0000'です。
System.out.println(Integer.toHexString(Character.MIN_VALUE)); // 0
static final byte MODIFIER_LETTER
Unicode仕様の汎用カテゴリ「Lm」。
System.out.println(Character.MODIFIER_LETTER); // 4
System.out.println(Character.getType('ʰ')); // 4
System.out.println(Character.getType('ʺ')); // 4
static final byte MODIFIER_SYMBOL
Unicode仕様の汎用カテゴリ「Sk」。
System.out.println(Character.MODIFIER_SYMBOL); // 27
System.out.println(Character.getType('^')); // 27
System.out.println(Character.getType('`')); // 27
static final byte NON_SPACING_MARK
Unicode仕様の汎用カテゴリ「Mn」。
System.out.println(Character.NON_SPACING_MARK); // 6
System.out.println(Character.getType('̈')); // 6
System.out.println(Character.getType('̆')); // 6
static final byte OTHER_LETTER
Unicode仕様の汎用カテゴリ「Lo」。
System.out.println(Character.OTHER_LETTER); // 5
System.out.println(Character.getType('ª')); // 5
System.out.println(Character.getType('ƻ')); // 5
static final byte OTHER_NUMBER
Unicode仕様の汎用カテゴリ「No」。
System.out.println(Character.OTHER_NUMBER); // 11
System.out.println(Character.getType('¼')); // 11
System.out.println(Character.getType('①')); // 11
static final byte OTHER_PUNCTUATION
Unicode仕様の汎用カテゴリ「Po」。
System.out.println(Character.OTHER_PUNCTUATION); // 24
System.out.println(Character.getType('!')); // 24
System.out.println(Character.getType('#')); // 24
static final byte OTHER_SYMBOL
Unicode仕様の汎用カテゴリ「So」。
System.out.println(Character.OTHER_SYMBOL); // 28
System.out.println(Character.getType('¦')); // 28
System.out.println(Character.getType('҂')); // 28
static final byte PARAGRAPH_SEPARATOR
Unicode仕様の汎用カテゴリ「Zp」。
System.out.println(Character.PARAGRAPH_SEPARATOR); // 14
System.out.println(Character.getType('\u2029')); // 14
static final byte PRIVATE_USE
Unicode仕様の汎用カテゴリ「Co」。
System.out.println(Character.PRIVATE_USE); // 18
System.out.println(Character.getType('\ue000')); // 18
static final int SIZE
符号なしバイナリ形式でchar値を表すのに使用されるビット数(定数16)。
System.out.println(Character.SIZE); // 16
static final byte SPACE_SEPARATOR
Unicode仕様の汎用カテゴリ「Zs」。
System.out.println(Character.SPACE_SEPARATOR); // 12
System.out.println(Character.getType(' ')); // 12
static final byte START_PUNCTUATION
Unicode仕様の汎用カテゴリ「Ps」。
System.out.println(Character.START_PUNCTUATION); // 21
System.out.println(Character.getType('(')); // 21
System.out.println(Character.getType('[')); // 21
static final byte SURROGATE
Unicode仕様の汎用カテゴリ「Cs」。
System.out.println(Character.SURROGATE); // 19
System.out.println(Character.getType(Character.MIN_SURROGATE)); // 19
System.out.println(Character.getType(Character.MAX_SURROGATE)); // 19
static final byte TITLECASE_LETTER
Unicode仕様の汎用カテゴリ「Lt」。
System.out.println(Character.TITLECASE_LETTER); // 3
System.out.println(Character.getType('Dž')); // 3
System.out.println(Character.getType('Lj')); // 3
static final Class<Character> TYPE
プリミティブ型charを表すClassインスタンス。
System.out.println(Character.TYPE.getName()); // char
System.out.println(Character.TYPE.isPrimitive()); // true
static final byte UNASSIGNED
Unicode仕様の汎用カテゴリ「Cn」。
System.out.println(Character.UNASSIGNED); // 0
System.out.println(Character.getType('\uFFFF')); // 0
static final byte UPPERCASE_LETTER
Unicode仕様の汎用カテゴリ「Lu」。
System.out.println(Character.UPPERCASE_LETTER); // 1
System.out.println(Character.getType('A')); // 1
System.out.println(Character.getType('Ê')); // 1
コンストラクタ
Character (char value)
削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。 このコンストラクタを使用することはほとんどありません。
非推奨です。
代わりに valueOf(char c) を使います。
メソッド
static int charCount (int codePoint)
指定された文字(Unicodeコード・ポイント)を表すのに必要なchar値の数を判定します。
final var ret1 = Character.charCount('a');
System.out.println(ret1); // 1
final var ret2 = Character.charCount('△');
System.out.println(ret2); // 1
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
System.out.println(Character.toString(codePoint)); // 𝟝
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
final var ret = Character.charCount(codePoint);
System.out.println(ret); // 2
char charValue ()
このCharacterオブジェクトの値を返します。
final var c = Character.valueOf('a');
System.out.println(c); // a
System.out.println(c.charValue()); // a
final var c = Character.valueOf('△');
System.out.println(c); // △
System.out.println(c.charValue()); // △
static int codePointAt (char[] a, int index)
char配列の指定されたインデックスにあるコード・ポイントを返します。
final char[] a = "abc".toCharArray();
System.out.println(Arrays.toString(a)); // [a, b, c]
final var ret1 = Character.codePointAt(a, 0);
System.out.println(Character.toString(ret1)); // a
final var ret2 = Character.codePointAt(a, 1);
System.out.println(Character.toString(ret2)); // b
final var ret3 = Character.codePointAt(a, 2);
System.out.println(Character.toString(ret3)); // c
try {
Character.codePointAt(a, 3);
} catch (IndexOutOfBoundsException e) {
System.out.println(e);
}
// 結果
// ↓
//java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
System.out.println(Character.toString(codePoint)); // 𝟝
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
final var seq = Character.toString(codePoint) + "ab";
System.out.println(seq); // "𝟝ab"
final char[] a = seq.toCharArray();
System.out.println(Arrays.toString(a)); // [?, ?, a, b]
final var ret1 = Character.codePointAt(a, 0);
System.out.printf("%c%n", ret1); // 𝟝
final var ret2 = Character.codePointAt(a, 1);
System.out.printf("%c%n", ret2); // ?
System.out.printf("%x%n", ret2); // dfdd
final var ret3 = Character.codePointAt(a, 2);
System.out.printf("%c%n", ret3); // a
final var ret4 = Character.codePointAt(a, 3);
System.out.printf("%c%n", ret4); // b
static int codePointAt (char[] a, int index, int limit)
limitの長さ未満のindexを持つ配列要素のみを使用可能な、char配列の指定されたインデックスにあるコード・ポイントを返します。
codePointAt(char[] a, int index) の使用例も合わせてご参照ください。
final char[] a = "abc".toCharArray();
System.out.println(Arrays.toString(a)); // [a, b, c]
final var ret1 = Character.codePointAt(a, 0, 2);
System.out.printf("%c%n", ret1); // a
final var ret2 = Character.codePointAt(a, 1, 2);
System.out.printf("%c%n", ret2); // b
try {
Character.codePointAt(a, 2, 2);
} catch (IndexOutOfBoundsException e) {
System.out.println(e);
}
// 結果
// ↓
//java.lang.IndexOutOfBoundsException
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
System.out.println(Character.toString(codePoint)); // 𝟝
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
final char[] a = Character.toChars(codePoint);
System.out.println(Arrays.toString(a)); // [?, ?]
final var ret1 = Character.codePointAt(a, 0, 2);
System.out.printf("%c%n", ret1); // 𝟝
final var ret2 = Character.codePointAt(a, 1, 2);
System.out.printf("%c%n", ret2); // ?
System.out.printf("%x%n", ret2); // dfdd
final var ret3 = Character.codePointAt(a, 0, 1);
System.out.printf("%c%n", ret3); // ?
System.out.printf("%x%n", ret3); // d835
try {
Character.codePointAt(a, 1, 1);
} catch (IndexOutOfBoundsException e) {
System.out.println(e);
}
// 結果
// ↓
//java.lang.IndexOutOfBoundsException
static int codePointAt (CharSequence seq, int index)
CharSequenceの指定されたインデックスにあるコード・ポイントを返します。
final var seq = "abc";
System.out.println(seq); // abc
final var ret1 = Character.codePointAt(seq, 0);
System.out.printf("%c%n", ret1); // a
final var ret2 = Character.codePointAt(seq, 1);
System.out.printf("%c%n", ret2); // b
final var ret3 = Character.codePointAt(seq, 2);
System.out.printf("%c%n", ret3); // c
try {
Character.codePointAt(seq, 3);
} catch (IndexOutOfBoundsException e) {
System.out.println(e);
}
// 結果
// ↓
//java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
System.out.println(Character.toString(codePoint)); // 𝟝
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
final var seq = Character.toString(codePoint) + "ab";
System.out.println(seq); // 𝟝ab
final var ret1 = Character.codePointAt(seq, 0);
System.out.printf("%c%n", ret1); // 𝟝
final var ret2 = Character.codePointAt(seq, 1);
System.out.printf("%c%n", ret2); // ?
System.out.printf("%x%n", ret2); // dfdd
final var ret3 = Character.codePointAt(seq, 2);
System.out.printf("%c%n", ret3); // a
final var ret4 = Character.codePointAt(seq, 3);
System.out.printf("%c%n", ret4); // b
static int codePointBefore (char[] a, int index)
char配列の指定されたインデックスの前にあるコード・ポイントを返します。
final char[] a = "abc".toCharArray();
System.out.println(Arrays.toString(a)); // [a, b, c]
final var ret1 = Character.codePointBefore(a, 1);
System.out.printf("%c%n", ret1); // a
final var ret2 = Character.codePointBefore(a, 2);
System.out.printf("%c%n", ret2); // b
final var ret3 = Character.codePointBefore(a, 3);
System.out.printf("%c%n", ret3); // c
try {
Character.codePointBefore(a, 0);
} catch (IndexOutOfBoundsException e) {
System.out.println(e);
}
// 結果
// ↓
//java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 3
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
System.out.println(Character.toString(codePoint)); // 𝟝
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
final var seq = Character.toString(codePoint) + "ab";
System.out.println(seq); // 𝟝ab
final char[] a = seq.toCharArray();
System.out.println(Arrays.toString(a)); // [?, ?, a, b]
final var ret1 = Character.codePointBefore(a, 1);
System.out.printf("%c%n", ret1); // ?
System.out.printf("%x%n", ret1); // d835
final var ret2 = Character.codePointBefore(a, 2);
System.out.printf("%c%n", ret2); // 𝟝
final var ret3 = Character.codePointBefore(a, 3);
System.out.printf("%c%n", ret3); // a
final var ret4 = Character.codePointBefore(a, 4);
System.out.printf("%c%n", ret4); // b
static int codePointBefore (char[] a, int index, int start)
start以上のindexを持つ配列要素のみを使用可能な、char配列の指定されたインデックスの前にあるコード・ポイントを返します。
codePointBefore(char[] a, int index) の使用例も合わせてご参照ください。
final char[] a = "abc".toCharArray();
System.out.println(Arrays.toString(a)); // [a, b, c]
final var ret1 = Character.codePointBefore(a, 2, 1);
System.out.printf("%c%n", ret1); // b
final var ret2 = Character.codePointBefore(a, 3, 1);
System.out.printf("%c%n", ret2); // c
try {
Character.codePointBefore(a, 1, 1);
} catch (IndexOutOfBoundsException e) {
System.out.println(e);
}
// 結果
// ↓
//java.lang.IndexOutOfBoundsException
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
System.out.println(Character.toString(codePoint)); // 𝟝
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
final var seq = Character.toString(codePoint) + "ab";
System.out.println(seq); // 𝟝ab
final char[] a = seq.toCharArray();
System.out.println(Arrays.toString(a)); // [?, ?, a, b]
final var ret1 = Character.codePointBefore(a, 2, 1);
System.out.printf("%c%n", ret1); // ?
System.out.printf("%x%n", ret1); // dfdd
final var ret2 = Character.codePointBefore(a, 3, 1);
System.out.printf("%c%n", ret2); // a
final var ret3 = Character.codePointBefore(a, 4, 1);
System.out.printf("%c%n", ret3); // b
static int codePointBefore (CharSequence seq, int index)
CharSequenceの指定されたインデックスの前にあるコード・ポイントを返します。
final var seq = "abc";
System.out.println(seq); // abc
final var ret1 = Character.codePointBefore(seq, 1);
System.out.printf("%c%n", ret1); // a
final var ret2 = Character.codePointBefore(seq, 2);
System.out.printf("%c%n", ret2); // b
final var ret3 = Character.codePointBefore(seq, 3);
System.out.printf("%c%n", ret3); // c
try {
Character.codePointBefore(seq, 0);
} catch (IndexOutOfBoundsException e) {
System.out.println(e);
}
// 結果
// ↓
//java.lang.StringIndexOutOfBoundsException: Index -1 out of bounds for length 3
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
System.out.println(Character.toString(codePoint)); // 𝟝
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
final var seq = Character.toString(codePoint) + "ab";
System.out.println(seq); // 𝟝ab
final var ret1 = Character.codePointBefore(seq, 1);
System.out.printf("%c%n", ret1); // ?
System.out.printf("%x%n", ret1); // d835
final var ret2 = Character.codePointBefore(seq, 2);
System.out.printf("%c%n", ret2); // 𝟝
final var ret3 = Character.codePointBefore(seq, 3);
System.out.printf("%c%n", ret3); // a
final var ret4 = Character.codePointBefore(seq, 4);
System.out.printf("%c%n", ret4); // b
static int codePointCount (char[] a, int offset, int count)
char配列引数の部分配列内にあるUnicodeコード・ポイントの数を返します。
final char[] a = "abc".toCharArray();
System.out.println(Arrays.toString(a)); // [a, b, c]
System.out.println(Character.codePointCount(a, 0, 0)); // 0
System.out.println(Character.codePointCount(a, 0, 1)); // 1
System.out.println(Character.codePointCount(a, 0, 2)); // 2
System.out.println(Character.codePointCount(a, 0, 3)); // 3
//Character.codePointCount(a, 0, 4); // IndexOutOfBoundsException
System.out.println(Character.codePointCount(a, 0, 3)); // 3
System.out.println(Character.codePointCount(a, 1, 2)); // 2
System.out.println(Character.codePointCount(a, 2, 1)); // 1
System.out.println(Character.codePointCount(a, 3, 0)); // 0
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
System.out.println(Character.toString(codePoint)); // 𝟝
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
final var seq = Character.toString(codePoint) + "ab";
System.out.println(seq); // 𝟝ab
final char[] a = seq.toCharArray();
System.out.println(Arrays.toString(a)); // [?, ?, a, b]
System.out.println(Character.codePointCount(a, 0, 0)); // 0
System.out.println(Character.codePointCount(a, 0, 1)); // 1
System.out.println(Character.codePointCount(a, 0, 2)); // 1
System.out.println(Character.codePointCount(a, 0, 3)); // 2
System.out.println(Character.codePointCount(a, 0, 4)); // 3
static int codePointCount (CharSequence seq, int beginIndex, int endIndex)
指定されたcharシーケンスのテキスト範囲内のUnicodeコード・ポイントの数を返します。
final var seq = "abc";
System.out.println(seq); // [a, b, c]
System.out.println(Character.codePointCount(seq, 0, 0)); // 0
System.out.println(Character.codePointCount(seq, 0, 1)); // 1
System.out.println(Character.codePointCount(seq, 0, 2)); // 2
System.out.println(Character.codePointCount(seq, 0, 3)); // 3
//Character.codePointCount(seq, 0, 4); // IndexOutOfBoundsException
System.out.println(Character.codePointCount(seq, 0, 3)); // 3
System.out.println(Character.codePointCount(seq, 1, 3)); // 2
System.out.println(Character.codePointCount(seq, 2, 3)); // 1
System.out.println(Character.codePointCount(seq, 3, 3)); // 0
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
System.out.println(Character.toString(codePoint)); // 𝟝
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
final var seq = Character.toString(codePoint) + "ab";
System.out.println(seq); // 𝟝ab
System.out.println(Character.codePointCount(seq, 0, 0)); // 0
System.out.println(Character.codePointCount(seq, 0, 1)); // 1
System.out.println(Character.codePointCount(seq, 0, 2)); // 1
System.out.println(Character.codePointCount(seq, 0, 3)); // 2
System.out.println(Character.codePointCount(seq, 0, 4)); // 3
static int codePointOf (String name)
指定された文字名で指定されたUnicode文字のコード・ポイント値を返します。
final var ret1 = Character.codePointOf("LATIN SMALL LETTER A");
System.out.printf("%c%n", ret1); // a
final var ret2 = Character.codePointOf("LATIN SMALL LETTER B");
System.out.printf("%c%n", ret2); // b
final var ret3 = Character.codePointOf("WHITE UP-POINTING TRIANGLE");
System.out.printf("%c%n", ret3); // △
final var ret4 = Character.codePointOf("MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE");
System.out.printf("%c%n", ret4); // 𝟝
static int compare (char x, char y)
2つのchar値を数値的に比較します。
System.out.println(Character.compare('a', 'a')); // 0
System.out.println(Character.compare('a', 'b')); // -1
System.out.println(Character.compare('9', '0')); // 9
System.out.println(Character.compare('Z', 'Y')); // 1
System.out.println(Character.compare('□', '△')); // -18
System.out.println(Character.compare('a', 'A')); // 32
int compareTo (Character anotherCharacter)
2つのCharacterオブジェクトを数値的に比較します。
final var value1 = Character.valueOf('a');
final var value2 = Character.valueOf('a');
System.out.println(value1.compareTo(value2)); // 0
final var value1 = Character.valueOf('a');
final var value2 = Character.valueOf('b');
System.out.println(value1.compareTo(value2)); // -1
final var value1 = Character.valueOf('9');
final var value2 = Character.valueOf('0');
System.out.println(value1.compareTo(value2)); // 9
final var value1 = Character.valueOf('Z');
final var value2 = Character.valueOf('Y');
System.out.println(value1.compareTo(value2)); // 1
final var value1 = Character.valueOf('□');
final var value2 = Character.valueOf('△');
System.out.println(value1.compareTo(value2)); // -18
final var value1 = Character.valueOf('a');
final var value2 = Character.valueOf('A');
System.out.println(value1.compareTo(value2)); // 32
Optional<DynamicConstantDesc<Character>> describeConstable ()
このインスタンスの名目記述子を含むOptionalを返します。
final var ret = Character.valueOf('a').describeConstable();
// Optional[DynamicConstantDesc[ConstantBootstraps::explicitCast(97)char]]
System.out.println(ret);
static int digit (char ch, int radix)
指定された基数での、文字chの数値としての値を返します。
System.out.println(Character.digit('0', 10)); // 0
System.out.println(Character.digit('1', 10)); // 1
System.out.println(Character.digit('2', 10)); // 2
System.out.println(Character.digit('3', 10)); // 3
System.out.println(Character.digit('4', 10)); // 4
System.out.println(Character.digit('5', 10)); // 5
System.out.println(Character.digit('6', 10)); // 6
System.out.println(Character.digit('7', 10)); // 7
System.out.println(Character.digit('8', 10)); // 8
System.out.println(Character.digit('9', 10)); // 9
System.out.println(Character.digit('a', 10)); // -1
final var a = "0123456789abcdefABCDEF".toCharArray();
for (char ch : a) {
System.out.printf("ch = %c : %d%n", ch, Character.digit(ch, 16));
}
// 結果
// ↓
//ch = 0 : 0
//ch = 1 : 1
//ch = 2 : 2
//ch = 3 : 3
//ch = 4 : 4
//ch = 5 : 5
//ch = 6 : 6
//ch = 7 : 7
//ch = 8 : 8
//ch = 9 : 9
//ch = a : 10
//ch = b : 11
//ch = c : 12
//ch = d : 13
//ch = e : 14
//ch = f : 15
//ch = A : 10
//ch = B : 11
//ch = C : 12
//ch = D : 13
//ch = E : 14
//ch = F : 15
static int digit (int codePoint, int radix)
指定された基数での、指定された文字(Unicodeコード・ポイント)の数値を返します。
digit(char ch, int radix) の使用例も合わせてご参照ください。
final var codePoint = Character.toCodePoint('\uD835', '\uDFD8');
// MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO
System.out.println(Character.getName(codePoint));
System.out.printf("%c%n", codePoint); // 𝟘
System.out.println(Character.digit(codePoint, 10)); // 0
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
System.out.printf("%c%n", codePoint); // 𝟝
System.out.println(Character.digit(codePoint, 10)); // 5
boolean equals (Object obj)
このオブジェクトと指定されたオブジェクトを比較します。
final var value1 = Character.valueOf('a');
final var value2 = Character.valueOf('a');
System.out.println(value1.equals(value2)); // true
final var value1 = Character.valueOf('a');
final var value2 = Character.valueOf('b');
System.out.println(value1.equals(value2)); // false
final var value1 = Character.valueOf('9');
final var value2 = Character.valueOf('0');
System.out.println(value1.equals(value2)); // false
final var value1 = Character.valueOf('Z');
final var value2 = Character.valueOf('Y');
System.out.println(value1.equals(value2)); // false
final var value1 = Character.valueOf('□');
final var value2 = Character.valueOf('△');
System.out.println(value1.equals(value2)); // false
final var value1 = Character.valueOf('a');
final var value2 = Character.valueOf('A');
System.out.println(value1.equals(value2)); // false
static char forDigit (int digit, int radix)
指定された基数での、指定された桁数の文字表現を判定します。
System.out.printf("%c%n", Character.forDigit(0, 10)); // 0
System.out.printf("%c%n", Character.forDigit(1, 10)); // 1
System.out.printf("%c%n", Character.forDigit(2, 10)); // 2
System.out.printf("%c%n", Character.forDigit(3, 10)); // 3
System.out.printf("%c%n", Character.forDigit(4, 10)); // 4
System.out.printf("%c%n", Character.forDigit(5, 10)); // 5
System.out.printf("%c%n", Character.forDigit(6, 10)); // 6
System.out.printf("%c%n", Character.forDigit(7, 10)); // 7
System.out.printf("%c%n", Character.forDigit(8, 10)); // 8
System.out.printf("%c%n", Character.forDigit(9, 10)); // 9
System.out.println(Character.forDigit(10, 10) == '\0'); // true
for (int i = 0; i < 16; i++) {
System.out.printf("digit = %d : %c%n", i, Character.forDigit(i, 16));
}
// 結果
// ↓
//digit = 0 : 0
//digit = 1 : 1
//digit = 2 : 2
//digit = 3 : 3
//digit = 4 : 4
//digit = 5 : 5
//digit = 6 : 6
//digit = 7 : 7
//digit = 8 : 8
//digit = 9 : 9
//digit = 10 : a
//digit = 11 : b
//digit = 12 : c
//digit = 13 : d
//digit = 14 : e
//digit = 15 : f
static byte getDirectionality (char ch)
指定された文字のUnicode方向性プロパティを返します。
System.out.println(Character.DIRECTIONALITY_EUROPEAN_NUMBER); // 3
System.out.println(Character.getDirectionality('1')); // 3
System.out.println(Character.getDirectionality('2')); // 3
System.out.println(Character.DIRECTIONALITY_PARAGRAPH_SEPARATOR); // 10
System.out.println(Character.getDirectionality('\n')); // 10
System.out.println(Character.getDirectionality('\r')); // 10
static byte getDirectionality (int codePoint)
所定の文字(Unicodeコード・ポイント)のUnicode方向性プロパティを返します。
getDirectionality(char ch) の使用例も合わせてご参照ください。
System.out.println(Character.DIRECTIONALITY_EUROPEAN_NUMBER); // 3
final var codePoint1 = Character.toCodePoint('\uD835', '\uDFD8');
System.out.printf("%c%n", codePoint1); // 𝟘
System.out.println(Character.getDirectionality(codePoint1)); // 3
final var codePoint2 = Character.toCodePoint('\uD835', '\uDFDD');
System.out.printf("%c%n", codePoint2); // 𝟝
System.out.println(Character.getDirectionality(codePoint2)); // 3
static String getName (int codePoint)
指定された文字codePointの名前を返します。コード・ポイントがunassignedの場合はnullを返します。
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
System.out.printf("%c%n", codePoint); // 𝟝
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
"abc".codePoints().forEach(codePoint -> {
System.out.printf("%c : %s%n", codePoint, Character.getName(codePoint));
});
// 結果
// ↓
//a : LATIN SMALL LETTER A
//b : LATIN SMALL LETTER B
//c : LATIN SMALL LETTER C
static int getNumericValue (char ch)
指定されたUnicode文字が表すint値を返します。
System.out.println(Character.getNumericValue('0')); // 0
System.out.println(Character.getNumericValue('1')); // 1
System.out.println(Character.getNumericValue('2')); // 2
System.out.println(Character.getNumericValue('3')); // 3
System.out.println(Character.getNumericValue('⑩')); // 10
System.out.println(Character.getNumericValue('Ⅺ')); // 11
System.out.println(Character.getNumericValue('⒓')); // 12
final var ch = '\u216C';
System.out.printf("%c%n", ch); // Ⅼ
System.out.println(Character.getNumericValue(ch)); // 50
static int getNumericValue (int codePoint)
指定された文字(Unicodeコード・ポイント)が表すint値を返します。
getNumericValue(char ch) の使用例も合わせてご参照ください。
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
System.out.printf("%c%n", codePoint); // 𝟝
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
System.out.println(Character.getNumericValue(codePoint)); // 5
"ⅩⅪⅫ".codePoints().forEach(codePoint -> {
System.out.printf("%c : %d%n", codePoint, Character.getNumericValue(codePoint));
});
// 結果
// ↓
//Ⅹ : 10
//Ⅺ : 11
//Ⅻ : 12
static int getType (char ch)
文字の汎用カテゴリを示す値を返します。
System.out.println(Character.DECIMAL_DIGIT_NUMBER); // 9
System.out.println(Character.getType('1')); // 9
System.out.println(Character.getType('2')); // 9
System.out.println(Character.DASH_PUNCTUATION); // 20
System.out.println(Character.getType('-')); // 20
System.out.println(Character.getType('〜')); // 20
static int getType (int codePoint)
文字の汎用カテゴリを示す値を返します。
getType(char ch) の使用例も合わせてご参照ください。
System.out.println(Character.DECIMAL_DIGIT_NUMBER); // 9
final var codePoint1 = Character.toCodePoint('\uD835', '\uDFD8');
System.out.printf("%c%n", codePoint1); // 𝟘
System.out.println(Character.getType(codePoint1)); // 9
final var codePoint2 = Character.toCodePoint('\uD835', '\uDFDD');
System.out.printf("%c%n", codePoint2); // 𝟝
System.out.println(Character.getType(codePoint2)); // 9
int hashCode ()
このCharacterのハッシュ・コード(charValue()を呼び出した場合の結果と等しくなる)を返します。
System.out.println(Character.valueOf('a').hashCode()); // 97
System.out.println(Character.valueOf('b').hashCode()); // 98
System.out.println(Character.valueOf('c').hashCode()); // 99
System.out.println(Character.valueOf('□').hashCode()); // 9633
System.out.println(Character.valueOf('△').hashCode()); // 9651
static int hashCode (char value)
Character.hashCode()との互換性がある、char値のハッシュ・コードを返します。
System.out.println(Character.hashCode('a')); // 97
System.out.println(Character.hashCode('b')); // 98
System.out.println(Character.hashCode('c')); // 99
System.out.println(Character.hashCode('□')); // 9633
System.out.println(Character.hashCode('△')); // 9651
static char highSurrogate (int codePoint)
UTF-16エンコーディングの指定された補助文字(Unicodeコード・ポイント)を表すサロゲート・ペアのリーディング・サロゲート(上位サロゲート・コード単位)を返します。
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
System.out.printf("%c%n", codePoint); // 𝟝
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
final var high = Character.highSurrogate(codePoint);
System.out.println(Integer.toHexString(high)); // d835
final var low = Character.lowSurrogate(codePoint);
System.out.println(Integer.toHexString(low)); // dfdd
static boolean isAlphabetic (int codePoint)
指定された文字(Unicodeコード・ポイント)がアルファベットかどうかを判定します。
System.out.println(Character.isAlphabetic('a')); // true
System.out.println(Character.isAlphabetic('b')); // true
System.out.println(Character.isAlphabetic('X')); // true
System.out.println(Character.isAlphabetic('Y')); // true
System.out.println(Character.isAlphabetic('0')); // false
System.out.println(Character.isAlphabetic('1')); // false
System.out.println(Character.isAlphabetic('2')); // false
System.out.println(Character.isAlphabetic('□')); // false
System.out.println(Character.isAlphabetic('△')); // false
System.out.println(Character.isAlphabetic('Dž')); // true
System.out.println(Character.isAlphabetic('Lj')); // true
static boolean isBmpCodePoint (int codePoint)
指定された文字(Unicodeコード・ポイント)が基本多言語面(BMP)に含まれるかどうかを判定します。
System.out.println(Character.isBmpCodePoint('a')); // true
System.out.println(Character.isBmpCodePoint('5')); // true
System.out.println(Character.isBmpCodePoint('△')); // true
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
System.out.printf("%c%n", codePoint); // 𝟝
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
System.out.println(Character.isBmpCodePoint(codePoint)); // false
static boolean isDefined (char ch)
文字がUnicodeで定義されているかどうかを判定します。
System.out.println(Character.isDefined('a')); // true
System.out.println(Character.isDefined('5')); // true
System.out.println(Character.isDefined('△')); // true
System.out.println(Character.isDefined('\uFFFF')); // false
static boolean isDefined (int codePoint)
文字(Unicodeコード・ポイント)がUnicodeで定義されているかどうかを判定します。
isDefined(char ch) の使用例も合わせてご参照ください。
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
System.out.printf("%c%n", codePoint); // 𝟝
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
System.out.println(Character.isDefined(codePoint)); // true
final var codePoint = Character.toCodePoint('\uFFFF', '\uFFFF');
System.out.println(Character.isDefined(codePoint)); // false
static boolean isDigit (char ch)
指定された文字が数字かどうかを判定します。
System.out.println(Character.isDigit('0')); // true
System.out.println(Character.isDigit('1')); // true
System.out.println(Character.isDigit('2')); // true
System.out.println(Character.isDigit('a')); // false
System.out.println(Character.isDigit('b')); // false
System.out.println(Character.isDigit('c')); // false
System.out.println(Character.isDigit('٢')); // true
System.out.println(Character.isDigit('٣')); // true
System.out.println(Character.isDigit('Ⅲ')); // false
System.out.println(Character.isDigit('⑫')); // false
static boolean isDigit (int codePoint)
指定された文字(Unicodeコード・ポイント)が数字かどうかを判定します。
isDigit(char ch) の使用例も合わせてご参照ください。
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
System.out.printf("%c%n", codePoint); // 𝟝
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
System.out.println(Character.isDigit(codePoint)); // true
static boolean isHighSurrogate (char ch)
指定されたchar値がUnicode上位サロゲート・コード単位 (リーディング・サロゲート・コード単位ともいう)であるかどうかを判定します。
final var high = '\uD835';
final var low = '\uDFDD';
System.out.println(Character.isSurrogate(high)); // true
System.out.println(Character.isHighSurrogate(high)); // true
System.out.println(Character.isLowSurrogate(high)); // false
System.out.println(Character.isSurrogate(low)); // true
System.out.println(Character.isHighSurrogate(low)); // false
System.out.println(Character.isLowSurrogate(low)); // true
System.out.println(Character.isSurrogatePair(high, low)); // true
System.out.println(Character.isSurrogatePair(low, high)); // false
final var codePoint = Character.toCodePoint(high, low);
System.out.printf("%c%n", codePoint); // 𝟝
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
System.out.println(Character.isSurrogate('a')); // false
System.out.println(Character.isHighSurrogate('5')); // false
System.out.println(Character.isLowSurrogate('△')); // false
System.out.println(Character.isSurrogatePair('a', 'b')); // false
static boolean isIdentifierIgnorable (char ch)
指定された文字が、Java識別子またはUnicode識別子内で無視可能な文字かどうかを判定します。
System.out.println(Character.isIdentifierIgnorable('\u0000')); // true
System.out.println(Character.isIdentifierIgnorable('\u000E')); // true
System.out.println(Character.isIdentifierIgnorable('a')); // false
System.out.println(Character.isIdentifierIgnorable('5')); // false
System.out.println(Character.isIdentifierIgnorable('△')); // false
static boolean isIdentifierIgnorable (int codePoint)
指定された文字(Unicodeコード・ポイント)が、Java識別子またはUnicode識別子内で無視可能な文字かどうかを判定します。
isIdentifierIgnorable(char ch) の使用例も合わせてご参照ください。
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
System.out.printf("%c%n", codePoint); // 𝟝
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
System.out.println(Character.isIdentifierIgnorable(codePoint)); // false
static boolean isIdeographic (int codePoint)
指定された文字(Unicodeコード・ポイント)が、Unicode標準で規定されたCJKV (中国語、日本語、韓国語、およびベトナム語)の表意文字かどうかを判定します。
System.out.println(Character.isIdeographic('一')); // true
System.out.println(Character.isIdeographic('空')); // true
System.out.println(Character.isIdeographic('a')); // false
System.out.println(Character.isIdeographic('5')); // false
System.out.println(Character.isIdeographic('△')); // false
static boolean isISOControl (char ch)
指定された文字がISO制御文字かどうかを判定します。
System.out.println(Character.isISOControl('\u0000')); // true
System.out.println(Character.isISOControl('\u007F')); // true
System.out.println(Character.isISOControl('a')); // false
System.out.println(Character.isISOControl('5')); // false
System.out.println(Character.isISOControl('△')); // false
static boolean isISOControl (int codePoint)
参照された文字(Unicodeコード・ポイント)がISO制御文字かどうかを判定します。
isISOControl(char ch) の使用例も合わせてご参照ください。
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
System.out.printf("%c%n", codePoint); // 𝟝
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
System.out.println(Character.isISOControl(codePoint)); // false
static boolean isJavaIdentifierPart (char ch)
指定された文字をJava識別子の最初の文字以外に使用可能かどうかを判定します。
System.out.println(Character.isJavaIdentifierPart('a')); // true
System.out.println(Character.isJavaIdentifierPart('5')); // true
System.out.println(Character.isJavaIdentifierPart('$')); // true
System.out.println(Character.isJavaIdentifierPart('_')); // true
System.out.println(Character.isJavaIdentifierPart('+')); // false
System.out.println(Character.isJavaIdentifierPart('-')); // false
System.out.println(Character.isJavaIdentifierPart('△')); // false
static boolean isJavaIdentifierPart (int codePoint)
文字(Unicodeコード・ポイント)をJava識別子の最初の文字以外に使用可能かどうかを判定します。
isJavaIdentifierPart(char ch) の使用例も合わせてご参照ください。
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
System.out.printf("%c%n", codePoint); // 𝟝
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
System.out.println(Character.isJavaIdentifierPart(codePoint)); // true
static boolean isJavaIdentifierStart (char ch)
指定された文字をJava識別子の最初の文字として指定可能かどうかを判定します。
System.out.println(Character.isJavaIdentifierStart('a')); // true
System.out.println(Character.isJavaIdentifierStart('$')); // true
System.out.println(Character.isJavaIdentifierStart('_')); // true
System.out.println(Character.isJavaIdentifierStart('5')); // false
System.out.println(Character.isJavaIdentifierStart('+')); // false
System.out.println(Character.isJavaIdentifierStart('-')); // false
System.out.println(Character.isJavaIdentifierStart('△')); // false
static boolean isJavaIdentifierStart (int codePoint)
文字(Unicodeコード・ポイント)をJava識別子の最初の文字として指定可能かどうかを判定します。
isJavaIdentifierStart(char ch) の使用例も合わせてご参照ください。
final var codePoint = Character.toCodePoint('\uD835', '\uDCBD');
System.out.printf("%c%n", codePoint); // 𝒽
// MATHEMATICAL SCRIPT SMALL H
System.out.println(Character.getName(codePoint));
System.out.println(Character.isJavaIdentifierStart(codePoint)); // true
static boolean isJavaLetter (char ch)
非推奨。 isJavaIdentifierStart(char)に置き換えられました。
非推奨です。
static boolean isJavaLetterOrDigit (char ch)
非推奨。 isJavaIdentifierPart(char)に置き換えられました。
非推奨です。
static boolean isLetter (char ch)
指定された文字が汎用文字かどうかを判定します。
System.out.println(Character.isLetter('a')); // true
System.out.println(Character.isLetter('b')); // true
System.out.println(Character.isLetter('X')); // true
System.out.println(Character.isLetter('Y')); // true
System.out.println(Character.isLetter('0')); // false
System.out.println(Character.isLetter('1')); // false
System.out.println(Character.isLetter('2')); // false
System.out.println(Character.isLetter('□')); // false
System.out.println(Character.isLetter('△')); // false
System.out.println(Character.isLetter('Dž')); // true
System.out.println(Character.isLetter('Lj')); // true
static boolean isLetter (int codePoint)
指定された文字(Unicodeコード・ポイント)が汎用文字かどうかを判定します。
isLetter(char ch) の使用例も合わせてご参照ください。
final var codePoint = Character.toCodePoint('\uD835', '\uDCBD');
System.out.printf("%c%n", codePoint); // 𝒽
// MATHEMATICAL SCRIPT SMALL H
System.out.println(Character.getName(codePoint));
System.out.println(Character.isLetter(codePoint)); // true
static boolean isLetterOrDigit (char ch)
指定された文字が汎用文字または数字かどうかを判定します。
System.out.println(Character.isLetterOrDigit('a')); // true
System.out.println(Character.isLetterOrDigit('b')); // true
System.out.println(Character.isLetterOrDigit('X')); // true
System.out.println(Character.isLetterOrDigit('Y')); // true
System.out.println(Character.isLetterOrDigit('0')); // true
System.out.println(Character.isLetterOrDigit('1')); // true
System.out.println(Character.isLetterOrDigit('2')); // true
System.out.println(Character.isLetterOrDigit('□')); // false
System.out.println(Character.isLetterOrDigit('△')); // false
System.out.println(Character.isLetterOrDigit('Dž')); // true
System.out.println(Character.isLetterOrDigit('Lj')); // true
static boolean isLetterOrDigit (int codePoint)
指定された文字(Unicodeコード・ポイント)が汎用文字または数字かどうかを判定します。
isLetterOrDigit(char ch) の使用例も合わせてご参照ください。
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
System.out.printf("%c%n", codePoint); // 𝟝
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
System.out.println(Character.isLetterOrDigit(codePoint)); // true
static boolean isLowerCase (char ch)
指定された文字が小文字かどうかを判定します。
System.out.println(Character.isLowerCase('a')); // true
System.out.println(Character.isLowerCase('b')); // true
System.out.println(Character.isLowerCase('X')); // false
System.out.println(Character.isLowerCase('Y')); // false
System.out.println(Character.isLowerCase('0')); // false
System.out.println(Character.isLowerCase('1')); // false
System.out.println(Character.isLowerCase('2')); // false
System.out.println(Character.isLowerCase('□')); // false
System.out.println(Character.isLowerCase('△')); // false
System.out.println(Character.isLowerCase('Dž')); // false
System.out.println(Character.isLowerCase('Lj')); // false
static boolean isLowerCase (int codePoint)
指定された文字(Unicodeコード・ポイント)が小文字かどうかを判定します。
isLowerCase(char ch) の使用例も合わせてご参照ください。
final var codePoint = Character.toCodePoint('\uD835', '\uDCBD');
System.out.printf("%c%n", codePoint); // 𝒽
// MATHEMATICAL SCRIPT SMALL H
System.out.println(Character.getName(codePoint));
System.out.println(Character.isLowerCase(codePoint)); // true
static boolean isLowSurrogate (char ch)
指定されたchar値がUnicode下位サロゲート・コード単位 (トレーリング・サロゲート・コード単位ともいう)であるかどうかを判定します。
このメソッドの使用例は、isHighSurrogate(char ch) にまとめて記載しました。
そちらのAPI使用例をご参照ください。
static boolean isMirrored (char ch)
Unicode仕様に従って文字をミラー化するかどうかを判定します。
System.out.println(Character.isMirrored('(')); // true
System.out.println(Character.isMirrored(')')); // true
System.out.println(Character.isMirrored('[')); // true
System.out.println(Character.isMirrored(']')); // true
System.out.println(Character.isMirrored('a')); // false
System.out.println(Character.isMirrored('b')); // false
System.out.println(Character.isMirrored('c')); // false
static boolean isMirrored (int codePoint)
Unicode仕様に従って、指定された文字(Unicodeコード・ポイント)をミラー化するかどうかを判定します。
isMirrored(char ch) の使用例も合わせてご参照ください。
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
System.out.printf("%c%n", codePoint); // 𝟝
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
System.out.println(Character.isMirrored(codePoint)); // false
static boolean isSpace (char ch)
非推奨。 isWhitespace(char)に置き換えられました。
非推奨です。
static boolean isSpaceChar (char ch)
指定された文字がUnicodeの空白文字かどうかを判定します。
System.out.println(Character.isSpaceChar(' ')); // true
System.out.println(Character.isSpaceChar('\u2028')); // true
System.out.println(Character.isSpaceChar('\u2029')); // true
System.out.println(Character.isSpaceChar('a')); // false
System.out.println(Character.isSpaceChar('5')); // false
System.out.println(Character.isSpaceChar('△')); // false
static boolean isSpaceChar (int codePoint)
指定された文字(Unicodeコード・ポイント)がUnicodeの空白文字かどうかを判定します。
isSpaceChar(char ch) の使用例も合わせてご参照ください。
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
System.out.printf("%c%n", codePoint); // 𝟝
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
System.out.println(Character.isSpaceChar(codePoint)); // false
static boolean isSupplementaryCodePoint (int codePoint)
指定された文字(Unicodeコード・ポイント)が補助文字の範囲にあるかどうかを判定します。
System.out.println(Character.isSupplementaryCodePoint('a')); // false
System.out.println(Character.isSupplementaryCodePoint('5')); // false
System.out.println(Character.isSupplementaryCodePoint('△')); // false
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
System.out.printf("%c%n", codePoint); // 𝟝
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
System.out.println(Character.isSupplementaryCodePoint(codePoint)); // true
static boolean isSurrogate (char ch)
指定されたchar値がUnicode サロゲート・コード単位かどうかを判定します。
このメソッドの使用例は、isHighSurrogate(char ch) にまとめて記載しました。
そちらのAPI使用例をご参照ください。
static boolean isSurrogatePair (char high, char low)
指定されたchar値のペアが有効なUnicodeサロゲート・ペアであるかどうかを判定します。
このメソッドの使用例は、isHighSurrogate(char ch) にまとめて記載しました。
そちらのAPI使用例をご参照ください。
static boolean isTitleCase (char ch)
指定された文字がタイトル・ケース文字かどうかを判定します。
System.out.println(Character.isTitleCase('Lj')); // true
System.out.println(Character.isTitleCase('Dž')); // true
System.out.println(Character.isTitleCase('a')); // false
System.out.println(Character.isTitleCase('b')); // false
System.out.println(Character.isTitleCase('c')); // false
static boolean isTitleCase (int codePoint)
指定された文字(Unicodeコード・ポイント)がタイトル・ケース文字かどうかを判定します。
isTitleCase(char ch) の使用例も合わせてご参照ください。
final var codePoint = Character.toCodePoint('\uD835', '\uDCBD');
System.out.printf("%c%n", codePoint); // 𝒽
// MATHEMATICAL SCRIPT SMALL H
System.out.println(Character.getName(codePoint));
System.out.println(Character.isTitleCase(codePoint)); // false
static boolean isUnicodeIdentifierPart (char ch)
指定された文字をUnicode識別子の最初の文字以外に使用可能かどうかを判定します。
System.out.println(Character.isUnicodeIdentifierPart('a')); // true
System.out.println(Character.isUnicodeIdentifierPart('5')); // true
System.out.println(Character.isUnicodeIdentifierPart('_')); // true
System.out.println(Character.isUnicodeIdentifierPart('$')); // false
System.out.println(Character.isUnicodeIdentifierPart('+')); // false
System.out.println(Character.isUnicodeIdentifierPart('-')); // false
System.out.println(Character.isUnicodeIdentifierPart('△')); // false
static boolean isUnicodeIdentifierPart (int codePoint)
指定された文字(Unicodeコード・ポイント)をUnicode識別子の最初の文字以外に使用可能かどうかを判定します。
isUnicodeIdentifierPart(char ch) の使用例も合わせてご参照ください。
final var codePoint = Character.toCodePoint('\uD835', '\uDCBD');
System.out.printf("%c%n", codePoint); // 𝒽
// MATHEMATICAL SCRIPT SMALL H
System.out.println(Character.getName(codePoint));
System.out.println(Character.isUnicodeIdentifierPart(codePoint)); // true
static boolean isUnicodeIdentifierStart (char ch)
指定された文字をUnicode識別子の最初の文字として指定可能かどうかを判定します。
System.out.println(Character.isUnicodeIdentifierStart('a')); // true
System.out.println(Character.isUnicodeIdentifierStart('Ⅱ')); // true
System.out.println(Character.isUnicodeIdentifierStart('5')); // false
System.out.println(Character.isUnicodeIdentifierStart('_')); // false
System.out.println(Character.isUnicodeIdentifierStart('$')); // false
System.out.println(Character.isUnicodeIdentifierStart('+')); // false
System.out.println(Character.isUnicodeIdentifierStart('-')); // false
System.out.println(Character.isUnicodeIdentifierStart('△')); // false
static boolean isUnicodeIdentifierStart (int codePoint)
指定された文字(Unicodeコード・ポイント)をUnicode識別子の最初の文字として指定可能かどうかを判定します。
isUnicodeIdentifierStart(char ch) の使用例も合わせてご参照ください。
final var codePoint = Character.toCodePoint('\uD835', '\uDCBD');
System.out.printf("%c%n", codePoint); // 𝒽
// MATHEMATICAL SCRIPT SMALL H
System.out.println(Character.getName(codePoint));
System.out.println(Character.isUnicodeIdentifierStart(codePoint)); // true
static boolean isUpperCase (char ch)
指定された文字が大文字がどうかを判定します。
System.out.println(Character.isUpperCase('A')); // true
System.out.println(Character.isUpperCase('B')); // true
System.out.println(Character.isUpperCase('x')); // false
System.out.println(Character.isUpperCase('y')); // false
System.out.println(Character.isUpperCase('0')); // false
System.out.println(Character.isUpperCase('1')); // false
System.out.println(Character.isUpperCase('2')); // false
System.out.println(Character.isUpperCase('□')); // false
System.out.println(Character.isUpperCase('△')); // false
System.out.println(Character.isUpperCase('Dž')); // false
System.out.println(Character.isUpperCase('Lj')); // false
static boolean isUpperCase (int codePoint)
指定された文字(Unicodeコード・ポイント)が大文字かどうかを判定します。
isUpperCase(char ch) の使用例も合わせてご参照ください。
final var codePoint = Character.toCodePoint('\uD801', '\uDCB2');
System.out.printf("%c%n", codePoint); // 𐒲
// OSAGE CAPITAL LETTER AIN
System.out.println(Character.getName(codePoint));
System.out.println(Character.isUpperCase(codePoint)); // true
static boolean isValidCodePoint (int codePoint)
指定されたコード・ポイントが有効なUnicodeコード・ポイント値であるかどうかを判定します。
System.out.println(Character.isValidCodePoint('a')); // true
System.out.println(Character.isValidCodePoint('5')); // true
System.out.println(Character.isValidCodePoint('△')); // true
System.out.println(Character.isValidCodePoint(Character.MIN_CODE_POINT)); // true
System.out.println(Character.isValidCodePoint(Character.MIN_CODE_POINT - 1)); // false
System.out.println(Character.isValidCodePoint(Character.MAX_CODE_POINT)); // true
System.out.println(Character.isValidCodePoint(Character.MAX_CODE_POINT + 1)); // false
static boolean isWhitespace (char ch)
指定された文字がJavaの基準に従った空白かどうかを判定します。
System.out.println(Character.isWhitespace(' ')); // true
System.out.println(Character.isWhitespace('\r')); // true
System.out.println(Character.isWhitespace('\n')); // true
System.out.println(Character.isWhitespace('\t')); // true
System.out.println(Character.isWhitespace('a')); // false
System.out.println(Character.isWhitespace('5')); // false
System.out.println(Character.isWhitespace('△')); // false
static boolean isWhitespace (int codePoint)
指定された文字(Unicodeコード・ポイント)がJavaの基準に従った空白かどうかを判定します。
isWhitespace(char ch) の使用例も合わせてご参照ください。
final var codePoint = Character.toCodePoint('\uD835', '\uDCBD');
System.out.printf("%c%n", codePoint); // 𝒽
// MATHEMATICAL SCRIPT SMALL H
System.out.println(Character.getName(codePoint));
System.out.println(Character.isWhitespace(codePoint)); // false
static char lowSurrogate (int codePoint)
UTF-16エンコーディングの指定された補助文字(Unicodeコード・ポイント)を表すサロゲート・ペアのトレーリング・サロゲート(下位サロゲート・コード単位)を返します。
このメソッドの使用例は、highSurrogate(int codePoint) にまとめて記載しました。
そちらのAPI使用例をご参照ください。
static int offsetByCodePoints (char[] a, int start, int count, int index, int codePointOffset)
指定されたchar部分配列内で、指定されたindexからcodePointOffsetコード・ポイント分だけオフセットされた位置のインデックスを返します。
final var a = "abc".toCharArray();
System.out.println(Arrays.toString(a)); // [a, b, c]
System.out.println(Character.offsetByCodePoints(a, 0, 3, 0, 0)); // 0
System.out.println(Character.offsetByCodePoints(a, 0, 3, 1, 0)); // 1
System.out.println(Character.offsetByCodePoints(a, 0, 3, 2, 0)); // 2
System.out.println(Character.offsetByCodePoints(a, 0, 3, 3, 0)); // 3
System.out.println(Character.offsetByCodePoints(a, 0, 3, 0, 0)); // 0
System.out.println(Character.offsetByCodePoints(a, 0, 3, 0, 1)); // 1
System.out.println(Character.offsetByCodePoints(a, 0, 3, 0, 2)); // 2
System.out.println(Character.offsetByCodePoints(a, 0, 3, 0, 3)); // 3
System.out.println(Character.offsetByCodePoints(a, 0, 3, 0, 0)); // 0
System.out.println(Character.offsetByCodePoints(a, 1, 2, 1, 0)); // 1
System.out.println(Character.offsetByCodePoints(a, 2, 1, 2, 0)); // 2
System.out.println(Character.offsetByCodePoints(a, 3, 0, 3, 0)); // 3
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
System.out.printf("%c%n", codePoint); // 𝟝
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
final var seq = Character.toString(codePoint) + "ab";
System.out.println(seq); // 𝟝ab
final char[] a = seq.toCharArray();
System.out.println(Arrays.toString(a)); // [?, ?, a, b]
System.out.println(Character.offsetByCodePoints(a, 0, 4, 0, 0)); // 0
System.out.println(Character.offsetByCodePoints(a, 0, 4, 1, 0)); // 1
System.out.println(Character.offsetByCodePoints(a, 0, 4, 2, 0)); // 2
System.out.println(Character.offsetByCodePoints(a, 0, 4, 3, 0)); // 3
System.out.println(Character.offsetByCodePoints(a, 0, 4, 4, 0)); // 4
System.out.println(Character.offsetByCodePoints(a, 0, 4, 0, 0)); // 0
System.out.println(Character.offsetByCodePoints(a, 0, 4, 0, 1)); // 2
System.out.println(Character.offsetByCodePoints(a, 0, 4, 0, 2)); // 3
System.out.println(Character.offsetByCodePoints(a, 0, 4, 0, 3)); // 4
System.out.println(Character.offsetByCodePoints(a, 1, 3, 1, 0)); // 1
System.out.println(Character.offsetByCodePoints(a, 1, 3, 2, 0)); // 2
System.out.println(Character.offsetByCodePoints(a, 1, 3, 3, 0)); // 3
System.out.println(Character.offsetByCodePoints(a, 1, 3, 4, 0)); // 4
static int offsetByCodePoints (CharSequence seq, int index, int codePointOffset)
指定された文字シーケンス内で、指定されたindexからcodePointOffsetコード・ポイント分だけオフセットされた位置のインデックスを返します。
final var seq = "abc";
System.out.println(seq); // abc
System.out.println(Character.offsetByCodePoints(seq, 0, 0)); // 0
System.out.println(Character.offsetByCodePoints(seq, 1, 0)); // 1
System.out.println(Character.offsetByCodePoints(seq, 2, 0)); // 2
System.out.println(Character.offsetByCodePoints(seq, 3, 0)); // 3
System.out.println(Character.offsetByCodePoints(seq, 0, 0)); // 0
System.out.println(Character.offsetByCodePoints(seq, 0, 1)); // 1
System.out.println(Character.offsetByCodePoints(seq, 0, 2)); // 2
System.out.println(Character.offsetByCodePoints(seq, 0, 3)); // 3
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
System.out.printf("%c%n", codePoint); // 𝟝
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
final var seq = Character.toString(codePoint) + "ab";
System.out.println(seq); // 𝟝ab
System.out.println(Character.offsetByCodePoints(seq, 0, 0)); // 0
System.out.println(Character.offsetByCodePoints(seq, 1, 0)); // 1
System.out.println(Character.offsetByCodePoints(seq, 2, 0)); // 2
System.out.println(Character.offsetByCodePoints(seq, 3, 0)); // 3
System.out.println(Character.offsetByCodePoints(seq, 4, 0)); // 4
System.out.println(Character.offsetByCodePoints(seq, 0, 0)); // 0
System.out.println(Character.offsetByCodePoints(seq, 0, 1)); // 2
System.out.println(Character.offsetByCodePoints(seq, 0, 2)); // 3
System.out.println(Character.offsetByCodePoints(seq, 0, 3)); // 4
static char reverseBytes (char ch)
指定されたchar値でバイト順を逆にして取得した値を返します。
final var value = 'a';
final var ret = Character.reverseBytes(value);
System.out.println("-- print --");
System.out.printf("%04x%n", (short) value);
System.out.printf("%04x%n", (short) ret);
// 結果
// ↓
//-- print --
//0061
//6100
final var value = '△';
final var ret = Character.reverseBytes(value);
System.out.println("-- print --");
System.out.printf("%04x%n", (short) value);
System.out.printf("%04x%n", (short) ret);
// 結果
// ↓
//-- print --
//25b3
//b325
static char[] toChars (int codePoint)
指定された文字(Unicodeコード・ポイント)をchar配列に格納されるUTF-16表現に変換します。
final var ret = Character.toChars('a');
System.out.println(ret.length); // 1
System.out.println(Integer.toHexString(ret[0])); // 61
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
System.out.printf("%c%n", codePoint); // 𝟝
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
final var ret = Character.toChars(codePoint);
System.out.println(ret.length); // 2
System.out.println(Integer.toHexString(ret[0])); // d835
System.out.println(Integer.toHexString(ret[1])); // dfdd
static int toChars (int codePoint, char[] dst, int dstIndex)
指定された文字(Unicodeコード・ポイント)をUTF-16表現に変換します。
final var dst = new char[3];
System.out.println(Arrays.toString(dst)); // [ , , ]
System.out.println(Character.toChars('a', dst, 0)); // 1
System.out.println(Arrays.toString(dst)); // [a, , ]
System.out.println(Character.toChars('b', dst, 1)); // 1
System.out.println(Arrays.toString(dst)); // [a, b, ]
System.out.println(Character.toChars('c', dst, 2)); // 1
System.out.println(Arrays.toString(dst)); // [a, b, c]
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
System.out.printf("%c%n", codePoint); // 𝟝
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
final var dst = new char[2];
System.out.println(Arrays.toString(dst)); // [ , ]
final var ret = Character.toChars(codePoint, dst, 0);
System.out.println(ret); // 2
System.out.println(Integer.toHexString(dst[0])); // d835
System.out.println(Integer.toHexString(dst[1])); // dfdd
static int toCodePoint (char high, char low)
指定されたサロゲート・ペアをその補助コード・ポイント値に変換します。
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
System.out.printf("%c%n", codePoint); // 𝟝
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
static char toLowerCase (char ch)
UnicodeDataファイル内のケース・マッピング情報を使用して、文字引数を小文字に変換します。
System.out.println(Character.toLowerCase('A')); // a
System.out.println(Character.toLowerCase('B')); // b
System.out.println(Character.toLowerCase('C')); // c
System.out.println(Character.toLowerCase('x')); // x
System.out.println(Character.toLowerCase('y')); // y
System.out.println(Character.toLowerCase('0')); // 0
System.out.println(Character.toLowerCase('1')); // 1
System.out.println(Character.toLowerCase('□')); // □
System.out.println(Character.toLowerCase('△')); // △
static int toLowerCase (int codePoint)
UnicodeDataファイル内のケース・マッピング情報を使用して、文字(Unicodeコード・ポイント)引数を小文字に変換します。
toLowerCase(char ch) の使用例も合わせてご参照ください。
final var codePoint = Character.toCodePoint('\uD801', '\uDCB2');
System.out.printf("%c%n", codePoint); // 𐒲
// OSAGE CAPITAL LETTER AIN
System.out.println(Character.getName(codePoint));
final var ret = Character.toLowerCase(codePoint);
System.out.printf("%c%n", ret); // 𐓚
// OSAGE SMALL LETTER AIN
System.out.println(Character.getName(ret));
String toString ()
このCharacterの値を表すStringオブジェクトを返します。
final var ret1 = Character.valueOf('a').toString();
System.out.println(ret1); // a
final var ret2 = Character.valueOf('5').toString();
System.out.println(ret2); // 5
final var ret3 = Character.valueOf('△').toString();
System.out.println(ret3); // △
static String toString (char c)
指定されたcharを表すStringオブジェクトを返します。
final var ret1 = Character.toString('a');
System.out.println(ret1); // a
final var ret2 = Character.toString('5');
System.out.println(ret2); // 5
final var ret3 = Character.toString('△');
System.out.println(ret3); // △
static String toString (int codePoint)
指定された文字(Unicodeコード・ポイント)を表すStringオブジェクトを返します。
final var codePoint = Character.toCodePoint('\uD835', '\uDFDD');
// MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
System.out.println(Character.getName(codePoint));
final var ret = Character.toString(codePoint);
System.out.println(ret); // 𝟝
static char toTitleCase (char ch)
UnicodeDataファイル内のケース・マッピング情報を使用して、文字引数をタイトル・ケースに変換します。
System.out.println(Character.toTitleCase('a')); // A
System.out.println(Character.toTitleCase('b')); // B
System.out.println(Character.toTitleCase('c')); // C
System.out.println(Character.toTitleCase('0')); // 0
System.out.println(Character.toTitleCase('1')); // 1
System.out.println(Character.toTitleCase('□')); // □
System.out.println(Character.toTitleCase('△')); // △
static int toTitleCase (int codePoint)
UnicodeDataファイル内のケース・マッピング情報を使用して、文字(Unicodeコード・ポイント)引数をタイトル・ケースに変換します。
toTitleCase(char ch) の使用例も合わせてご参照ください。
final var codePoint = Character.toCodePoint('\uD801', '\uDCDA');
System.out.println(Character.toString(codePoint)); // 𐓚
// OSAGE SMALL LETTER AIN
System.out.println(Character.getName(codePoint));
final var ret = Character.toTitleCase(codePoint);
System.out.println(Character.toString(ret)); // 𐒲
// OSAGE SMALL LETTER AIN
System.out.println(Character.getName(codePoint));
static char toUpperCase (char ch)
UnicodeDataファイル内のケース・マッピング情報を使用して、文字引数を大文字に変換します。
System.out.println(Character.toUpperCase('a')); // A
System.out.println(Character.toUpperCase('b')); // B
System.out.println(Character.toUpperCase('c')); // C
System.out.println(Character.toUpperCase('X')); // X
System.out.println(Character.toUpperCase('Y')); // Y
System.out.println(Character.toUpperCase('0')); // 0
System.out.println(Character.toUpperCase('1')); // 1
System.out.println(Character.toUpperCase('□')); // □
System.out.println(Character.toUpperCase('△')); // △
static int toUpperCase (int codePoint)
UnicodeDataファイル内のケース・マッピング情報を使用して、文字(Unicodeコード・ポイント)引数を大文字に変換します。
toUpperCase(char ch) の使用例も合わせてご参照ください。
final var codePoint = Character.toCodePoint('\uD801', '\uDCDA');
System.out.println(Character.toString(codePoint)); // 𐓚
// OSAGE SMALL LETTER AIN
System.out.println(Character.getName(codePoint));
final var ret = Character.toUpperCase(codePoint);
System.out.println(Character.toString(ret)); // 𐒲
// OSAGE SMALL LETTER AIN
System.out.println(Character.getName(codePoint));
static Character valueOf (char c)
指定されたchar値を表すCharacterインスタンスを返します。
final var ret1 = Character.valueOf('a');
System.out.println(ret1); // a
final var ret2 = Character.valueOf('5');
System.out.println(ret2); // 5
final var ret3 = Character.valueOf('△');
System.out.println(ret3); // △