2016-07-28 4 views
0

Считается ли лучше использовать и использовать типы ссылок вместо примитивных типов в Java?Лучше ли использовать типы ссылок или примитивные типы в Java?

Мы часто видим java-программы, смешивающие их оба, лучше ли использовать только примитивные типы или только ссылочные типы? Или смешивать их в соответствии с потребностями и каковы критерии выбора между примитивным или ссылочным типом?

Спасибо

+0

Если вы считаете существование механизма автоматического бокса, я думаю, нет никакой разницы (в контексте «лучше/хуже»). Просто имейте в виду, что ссылочные типы могут быть «null». – Crozin

+4

@Crozin нет разницы, если вы не делаете математику в цикле. Тогда большая разница. –

+2

@Crozin. Операции над примитивами обычно быстрее, чем их соответствующие обертки. – TheLostMind

ответ

2

Предполагая, что вы имеете в виду примитивные типы оберток (Integer, Boolean и т. Д.), А не ссылочные типы в целом: когда у вас есть выбор (часто вы этого не делаете: например, вы используете API, который требует того или другого, или вы используете их как общие аргументы типа или хотите быть нулевыми), предпочитают примитивные типы, потому что в целом это сделает ваш код более простым и быстрым.

Будьте осторожны, если вам нужно переключиться с одного на другое, потому что == все еще будет компилироваться, но дать разные результаты ... обычно.

1

Важным критерием является вопрос: может ли он быть нулевым? Например, подумайте о id в базе данных и спросите себя, есть ли время, когда идентификатор может быть null.

Вы можете выбрать примитивный тип для непустых значений.

Смежные вопросы