Домой Учебники по Java и J2EE Java Советы: везде, где это возможно, попробуйте использовать примитивные типы вместо классов...

Java Советы: везде, где это возможно, попробуйте использовать примитивные типы вместо классов Wrapper

449
0

По возможности старайтесь использовать примитивные типы вместо классов Wrapper.

Не все в Java является объектом. Существует специальная группа типов данных (также называемых примитивными типами), которые будут довольно часто использоваться в вашем программировании. Из соображений производительности разработчики языка Java решили включить эти примитивные типы.

Создание объекта с использованием new не очень эффективно, потому что new помещает объекты в кучу. Этот подход будет очень дорогостоящим для небольших и простых переменных. Вместо создания переменных с использованием new Java может использовать примитивные типы для создания автоматических переменных, которые не являются ссылками. Переменные содержат значение, и оно помещается в стек, поэтому оно намного эффективнее.

Java определяет размер каждого примитивного типа. Эти размеры не изменяются от одной машинной архитектуры к другой (как в большинстве других языков). Это одна из ключевых особенностей языка, которая делает Java такой переносимой.

Обратите внимание, что все числовые типы подписаны. (Без неподписанных типов).

Классы обертки великолепны. Но в то же время они медленные. Примитивные типы — это просто значения, тогда как классы Wrapper хранят информацию о полном классе.

ЧИТАТЬ ТАКЖЕ:  Java: Как получить размер файла или каталога программно?

Иногда программист может добавить ошибку в код с помощью оболочки из-за недосмотра. Например, в приведенном ниже примере:

1
2
3
4
5
6
7
8
ИНТ Икс знак равно 10 ;
ИНТ Y знак равно 10 ;
целое число x1 знак равно новый Целое число ( 10 ) ;
целое число y1 знак равно новый Целое число ( 10 ) ;
Система. вне. println ( x == у ) ;
Система. вне. println ( x1 == у1 ) ;

Первый Println будет печатать true, а второй — false. Проблема в том, что при сравнении двух объектов класса-обертки мы не можем использовать оператор ==. Он будет сравнивать ссылку на объект, а не его фактическое значение.

Также, если вы используете объект класса-оболочки, никогда не забывайте инициализировать его значением по умолчанию. По умолчанию все объекты класса-оболочки инициализируются в null ,

1
2
3
4
5
6
7
логический флаг ;
если ( флаг == правда ) {
     Система. вне. println ( «Флаг установлен» ) ;
} еще {
     Система. вне. println ( «Флаг не установлен» ) ;
}

Приведенный выше код даст NullPointerException так как он пытается упаковать значения перед сравнением с истиной и в качестве его нуля.

Удобный справочник:

Java Советы: везде, где это возможно, попробуйте использовать примитивные типы вместо классов Wrapper

0.00 (0%) 0 votes

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь