A Java char primitív típus egyetlen Unicode-karakter 16 bites reprezentációja.
A char típus az eredeti Unicode-specifikáción alapul, amely 16 bitet használt a karakterek ábrázolására.
Ez elég a leggyakoribb betűk lefedésére, és lefedi a 0x0000 és 0xFFFF közötti karaktereket.
A specifikáció azóta 0x01FFFF-ig kibővítette a lehetséges karakterek tartományát.
Több char alkothat egy stringet, például "word", vagy a char-ok egymástól függetlenül is feldolgozhatók.
A char literált egyszeres idézőjelek veszik körül (pl. 'A').
char lowerA = 'a';
char upperB = 'B';
String char-jainak lekéréseA String.toCharArray metódus egy String karaktereit tömbként adja vissza.
Ahogy a tömbök részben említettük, egy for ciklussal végigmehetsz a tömbön.
String text = "Hello";
char[] asArray = text.toCharArray();
for (char ch: asArray) {
System.out.println(ch);
}
// Outputs:
// H
// e
// l
// l
// o
Sok beépített könyvtári metódus létezik a char-ok vizsgálatára és kezelésére.
Ezek a java.lang.Character osztály statikus metódusaiként találhatók meg.
Íme néhány példa:
Character.isWhitespace(' '); // true
Character.isWhitespace('#'); // false
Character.isLetter('a'); // true
Character.isLetter('3'); // false
Character.isDigit('6'); // true
Character.isDigit('?'); // false
A Character osztály néhány metódusának van egy túlterhelt változata, amely char vagy int értéket is fogadhat.
Például az isDigit metódusnak van egy olyan változata, amely char értéket fogad, és egy másik, amely int értéket.
Ahogy korábban említettük, a char típus csak a 0x0000 és 0xFFFF közötti karaktereket tudja ábrázolni.
Az int viszont minden karaktert képes ábrázolni, ezért vannak az int túlterhelések.
char hozzáadása egy String-hezA + operátor használható egy char hozzáadására egy String-hez.
'a' + " banana" // => "a banana"
"banana " + 'a' // => "banana a"
Vigyázz, hogy ne használd a + operátort két char összefűzésére, hogy String-et hozz létre!
Ha két char-t így adsz össze, az egy int lesz, nem egy String!
Például:
'b' + 'c';
// => 197 (not the String "bc")
Ez azért van, mert a Java a char-t int-té lépteti elő (lásd a 4.2 Primitív típusok és értékek című részt a Java Language Specification című dokumentumban).
Ha azonban sok karaktert kell hozzáadni, hatékonyabb lehet helyette egy StringBuilder-t használni:
StringBuilder builder = new StringBuilder();
builder.append('a');
builder.append('b');
builder.append('c');
String builtString = builder.toString();
// => abc