JavaRush /Java блог /Архив info.javarush /Обьясните смысл Charactera
vlad55
10 уровень

Обьясните смысл Charactera

Статья из группы Архив info.javarush
Здравствуйте,подскажите мне пожалуйста,для чего вообще нужен Character.Потому как погуглил и на русском толкового ответа я не нашел.
Комментарии (3)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
ADron Уровень 11
8 апреля 2016
Character Это Объект! Обертка над char

        Character c = new Character('c');
        c.    //и пошел вызывать доступные методы)))))

Так что Character это не просто char
Joysi Уровень 41
5 апреля 2016
int, boolean, byte, long и т.п. — примитивные типы.
Они как кирпичи, всегда имеют одинаковый размер в памяти. int — 4 байта, long — 8 байт.

Строки — они изначально композитные(составные) сущности, состоят из символов (как молекула из атомов) и имеют разную длину. Только удобнее (в силу их большой распространенности) работать с ними как с цельными данными: присвоить новое значение, добавить в конец дополнительное слово и т.п. Так привычнее и нагляднее:
String a = "Мама";
a +=" мыла раму.";

нежели в цикле добавлять каждый раз по буковке.

Но возникают ситуации, когда нужны составные части строки — символы. Например, для шифрования содержимого строк, определения частоты встречаемых символов и т.п. Тут и нужен char (или его объектная обертка Character). Каждая буква(символ) представлена в строке 2мя байтами (не для всех алфавитов мира достаточно 256 разных значений для букв ).
Строку можно задать
String str = "John";

или
char[] chars = { 'J', 'o', 'h', 'n' };
String str = new String(chars);


Заметьте, что символы задаются в одинарных кавычках, в отличии от строк.
EvIv Уровень 30
5 апреля 2016
В исходном значении — единичный символ. Но можно использовать и как короткий (всего 2 байта) беззнаковый int от 0 до 65536
Если нужно по символам разобрать строку и что-то с ней сделать, может пригодиться как раз этот тип.