Java: Какова причина, чтобы определить такой символ? - PullRequest
0 голосов
/ 08 марта 2012

Хорошо, всего 2 строки кода. Я понимаю первую строчку. Что означает вторая строка и когда и почему я должен использовать эту строку?

char c = 'x';
Character C = new Character(c);

Пожалуйста, ответьте на все вопросы .. (Что, когда, почему)

Ответы [ 6 ]

6 голосов
/ 08 марта 2012

char - это примитивный тип.Character - это оболочка для примитивного типа, как вы можете видеть в документации по Java

Класс Character переносит значение примитивного типа char в объект.Объект типа Character содержит одно поле с типом char.

Кроме того, этот класс предоставляет несколько методов для определения категории символа (строчная буква, цифра и т. Д.) И для преобразования символов из прописных в строчныеи наоборот.

4 голосов
/ 08 марта 2012

Java предоставляет класс для каждого примитивного типа (int, char, long, float, byte, short, boolean и double). Идея состоит в том, чтобы использовать этот класс вместо примитивного типа для работы там, где требуется Object.

Object a = new Integer(1);
Object b = new Character(c);

См. ArrayList, например:

Вы не можете сделать:

ArrayList<boolean> list = new ArrayList<boolean>;

Но вы можете сделать:

ArrayList<Boolean> list = new ArrayList<Boolean>;
list.add(new Boolean(true));
4 голосов
/ 08 марта 2012

Character - оболочка примитивного типа char. Это позволяет вам использовать примитив char более объектно-ориентированным способом.

2 голосов
/ 08 марта 2012

Это класс Wrapper основного типа char. Поскольку это Объект, вы можете использовать его как любой другой Объект, например, некоторые Коллекции используют Объекты, или Символ также может быть нулевым, тогда как символ не может.

1 голос
/ 08 марта 2012

Это называется коробочным примитивом, и они полезны, например, когда вы хотите поместить примитивы в Collection.Поскольку коллекция должна содержать объекты, вы не можете просто объявить Collection<char>, поэтому вам нужно использовать Collection<Character>.

1 голос
/ 08 марта 2012

В первой строке создается примитив char, где в качестве второй создается объект Character. Вам не нужно использовать один или другой. Это зависит от того, что вы делаете со своим кодом. Обычно java распаковывает примитивы по мере необходимости.

...