2016-07-28 26 views
0

Wird es als bessere Methode angesehen, Referenztypen anstelle von primitiven Typen in Java zu verwenden und zu bearbeiten?Ist es besser, Referenztypen oder primitive Typen in Java zu verwenden?

Wir sehen oft Java-Programme, die beide mischen, ist es besser, nur primitive Typen oder nur Referenztypen zu verwenden? Oder mischen Sie sie nach den Bedürfnissen und nach welchen Kriterien wählen Sie zwischen einem primitiven oder Referenztyp?

Dank

+0

Wenn Sie die Existenz von Auto-Boxing-Mechanismus betrachten, denke ich, es gibt keinen Unterschied (im "besser/schlechter" Kontext). Bedenken Sie, dass Referenztypen "null" sein können. – Crozin

+4

@Crozin kein Unterschied, es sei denn, Sie tun Mathe in einer Schleife. Dann großer Unterschied. –

+2

@Crozin - Operationen auf Primitiven sind in der Regel schneller als ihre entsprechenden Wrapper – TheLostMind

Antwort

2

Angenommen, Sie meinen primitive Wrapper-Typen (Integer,,, usw.) und keine Referenztypen im Allgemeinen: wenn Sie eine Wahl haben (oft nicht: zB verwenden Sie eine API, die das eine oder andere benötigt) Sie verwenden sie als generische Typargumente, oder Sie möchten nullable sein, bevorzugen primitive Typen, da dies Ihren Code im Allgemeinen einfacher und schneller macht.

Seien Sie vorsichtig, wenn Sie von einem zum anderen wechseln müssen, weil == wird immer noch kompilieren, aber andere Ergebnisse geben ... in der Regel.

1

Ein wichtiges Kriterium ist die Frage: Kann es null sein? Denken Sie zum Beispiel an eine ID in einer Datenbank-Entität und fragen Sie sich, ob es eine Zeit gibt, wo die ID null sein kann.

Sie können primitiven Typ für Nicht-Null-Werte wählen.