281 votes

Quelle est la différence entre une Entier et int en Java?

Par exemple, pourquoi pouvez-vous faire:

int n = 9;

Mais non:

Integer n = 9;

Et vous pouvez le faire:

Integer.parseInt("1");

Mais non:

int.parseInt("1");

375voto

Darkhogg Points 1626

int est un type primitif. Les Variables de type int stocker de la réelle valeur binaire de l'entier que vous voulez représenter. int.parseInt("1") n'a pas de sens parce qu' int est pas une classe et, par conséquent, n'ont pas de méthodes.

Integer est une classe, pas différente de toutes les autres dans le langage Java. Les Variables de type Integer magasin de références à Integer objets, tout comme avec toute autre référence (objet) de type. Integer.parseInt("1") est un appel à la méthode statique parseInt de la classe Integer (à noter que cette méthode retourne en fait un int et pas un Integer).

Pour être plus précis, Integer est une classe avec un seul champ de type int. Cette classe est utilisé lorsque vous avez besoin d'un int d'être traité comme tout autre objet, comme dans les types génériques ou des situations où vous avez besoin de la valeur null.

Veuillez noter que pour chaque type primitif Java a un équivalent wrapper classe:

  • byte a Byte
  • short a Short
  • int a Integer
  • long a Long
  • boolean a Boolean
  • char a Character
  • float a Float
  • double a Double

31voto

Matjaz Muhic Points 1226

8voto

Nadir Muzaffar Points 1621

Un nombre Entier est à peu près juste un wrapper pour le type primitif int. Il vous permet d'utiliser toutes les fonctions de la classe Integer pour rendre la vie un peu plus facile pour vous.

Si vous êtes nouveau à Java, quelque chose que vous devriez apprendre à apprécier, c'est la documentation de Java. Par exemple, tout ce que vous voulez savoir sur la Classe Integer est documenté en détail.

Ce est tout droit sorti de la documentation de la classe Integer:

L'Entier de la classe encapsule une valeur de type primitif int dans un objet. Un objet de type Integer, contient un seul champ dont le type est int.

5voto

Lion Points 7328

Integer se réfère à wrapper type en Java alors qu' int est un type primitif. Tout, sauf les types de données primitifs en Java est mis en place seulement comme des objets qui implique Java est hautement qualifié purement orienté objet langage de programmation. Si vous avez besoin, toutes les primitives types sont également disponibles en tant que types wrapper Java. Vous pouvez obtenir un certain avantage en termes de performances avec les types primitifs et donc de types wrapper devrait être utilisé que lorsqu'il est absolument nécessaire.

Dans votre exemple, comme ci-dessous.

Integer n = 9;

la constante 9 est automatique-boîte à Integer et, par conséquent, vous pouvez utiliser l'instruction comme celle-ci et également Integer n = new Integer(9). C'est en fait réalisé à travers l'énoncé Interger.valueOf(9).intValue();

2voto

M S Points 1150

int est un type primitif qui représentent un nombre entier. où as Integer est un Objet. L'objet Integer vous donner plus de fonctionnalités, de les convertir en hexadécimal, corde, etc.

Vous pouvez également utiliser Oups concept sur un Entier, comme vous pouvez ajouter votre propre fonction en étendant entier

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X