Integer é o mesmo que int?

8 respostas
A

O Integer é o mesmo que int? Quero dizer, as difrenças se resumem por aí?

abs,
André AS

8 Respostas

tgmarinho
sim
thiago.correa

Não, int é um tipo primitivo e Integer é o objeto (também conhecido como wrapper), todos os tipos primitivos tem uma classe wrapper correspondente

int -> java.lang.Integer
double -> java.lang.Double
float -> java.lang.Float
char -> java.lang.Character
long -> java.lang.Long
boolean -> java.lang.Boolean
byte -> java.lang.Byte
short -> java.lang.Short

rodrigo.bossini

É errado dizer que ambos são a mesma coisa. Afinal de contas, int é um tipo primitivo, enquanto que Integer é uma classe propriamente dita, com direito a atributos métodos e tudo.
As classes Integer, Character, Boolean, etc existem a partir da versão 5 do java, e têm um propósito bem definido. Aliás, elas têm até um nome: Wrapper ou empacotadoras.

Alguns exemplos de uso:

  • Todas as classes wrapper fornecem métodos utilitários para conversão de tipos (ex: Integer.parseInt).
  • Utilizadas para criar coleções generic, que armazenam tipos de dados primitivos (ex: List<Integer> lista = new ArrayList<Integer>()).

Uma busca por Wrapper classes e AutoBoxing te trará resultados interessantes sobre o assunto.

A

Puxa que legal… valeu mesmo :lol: …

abs,
André AS

thiago.correa
rod.attack:
As classes Integer, Character, Boolean, etc existem a partir da versão 5 do java

Errado, o autoboxing até concordo, mas as wrappers não, olha a classe integer por exemplo

/**
 * The <code>Integer</code> class wraps a value of the primitive type
 * <code>int</code> in an object. An object of type
 * <code>Integer</code> contains a single field whose type is
 * <code>int</code>.
 *
 *  <p>
 * 
 * In addition, this class provides several methods for converting an
 * <code>int</code> to a <code>String</code> and a <code>String</code>
 * to an <code>int</code>, as well as other constants and methods
 * useful when dealing with an <code>int</code>.
 *
 * <p>Implementation note: The implementations of the "bit twiddling"
 * methods (such as {@link #highestOneBit(int) highestOneBit} and
 * {@link #numberOfTrailingZeros(int) numberOfTrailingZeros}) are
 * based on material from Henry S. Warren, Jr.'s <i>Hacker's
 * Delight</i>, (Addison Wesley, 2002).
 *
 * @author  Lee Boynton
 * @author  Arthur van Hoff
 * @author  Josh Bloch
 * @version 1.93, 02/26/09
 * @since JDK1.0
 */
public final class Integer extends Number implements Comparable<Integer> {
rodrigo.bossini

Você está certo. As classes Wrappers já existiam bem antes de existir o conceito de AutoBoxing.
O AutoBoxing sim existe a partir do java 5.

thiago.correa:
rod.attack:
As classes Integer, Character, Boolean, etc existem a partir da versão 5 do java

Errado, o autoboxing até concordo, mas as wrappers não, olha a classe integer por exemplo

/**
 * The <code>Integer</code> class wraps a value of the primitive type
 * <code>int</code> in an object. An object of type
 * <code>Integer</code> contains a single field whose type is
 * <code>int</code>.
 *
 *  <p>
 * 
 * In addition, this class provides several methods for converting an
 * <code>int</code> to a <code>String</code> and a <code>String</code>
 * to an <code>int</code>, as well as other constants and methods
 * useful when dealing with an <code>int</code>.
 *
 * <p>Implementation note: The implementations of the "bit twiddling"
 * methods (such as {@link #highestOneBit(int) highestOneBit} and
 * {@link #numberOfTrailingZeros(int) numberOfTrailingZeros}) are
 * based on material from Henry S. Warren, Jr.'s <i>Hacker's
 * Delight</i>, (Addison Wesley, 2002).
 *
 * @author  Lee Boynton
 * @author  Arthur van Hoff
 * @author  Josh Bloch
 * @version 1.93, 02/26/09
 * @since JDK1.0
 */
public final class Integer extends Number implements Comparable<Integer> {

acjZer0

No conteúdo para certificação SCJP 5 na Seção 3: Conteúdo da API , mostra claramente que e cobrado e existe classes Wrapper no JAVA5.

Os objetos wrapper são objetos e possuem métodos que facilitam a vida de quem desenvolve , a sua inicialização e nula ao invés dos primitivos que tem inicialização diferenciada
como por exemplo o int que e inicializado com 0.

thiago.correa:
rod.attack:
As classes Integer, Character, Boolean, etc existem a partir da versão 5 do java

Errado, o autoboxing até concordo, mas as wrappers não, olha a classe integer por exemplo

/**
 * The <code>Integer</code> class wraps a value of the primitive type
 * <code>int</code> in an object. An object of type
 * <code>Integer</code> contains a single field whose type is
 * <code>int</code>.
 *
 *  <p>
 * 
 * In addition, this class provides several methods for converting an
 * <code>int</code> to a <code>String</code> and a <code>String</code>
 * to an <code>int</code>, as well as other constants and methods
 * useful when dealing with an <code>int</code>.
 *No conteúdo da certificação JAVA 5 seção 3 mostra claramente que são cobrados objetos Wrapper :

https://www.suntrainingcatalogue.com/eduserv/client/loadCourse.do?coCourseCode=CX-310-055

existe sim Wrapper no java 5

* <p>Implementation note: The implementations of the "bit twiddling"
 * methods (such as {@link #highestOneBit(int) highestOneBit} and
 * {@link #numberOfTrailingZeros(int) numberOfTrailingZeros}) are
 * based on material from Henry S. Warren, Jr.'s <i>Hacker's
 * Delight</i>, (Addison Wesley, 2002).
 *
 * @author  Lee Boynton
 * @author  Arthur van Hoff
 * @author  Josh Bloch
 * @version 1.93, 02/26/09
 * @since JDK1.0
 */
public final class Integer extends Number implements Comparable<Integer> {

thiago.correa
acjZer0:
No conteúdo para certificação SCJP 5 na Seção 3: Conteúdo da API , mostra claramente que e cobrado e existe classes Wrapper no JAVA5.

Os objetos wrapper são objetos e possuem métodos que facilitam a vida de quem desenvolve , a sua inicialização e nula ao invés dos primitivos que tem inicialização diferenciada
como por exemplo o int que e inicializado com 0.

thiago.correa:
rod.attack:
As classes Integer, Character, Boolean, etc existem a partir da versão 5 do java

Errado, o autoboxing até concordo, mas as wrappers não, olha a classe integer por exemplo

/**
 * The <code>Integer</code> class wraps a value of the primitive type
 * <code>int</code> in an object. An object of type
 * <code>Integer</code> contains a single field whose type is
 * <code>int</code>.
 *
 *  <p>
 * 
 * In addition, this class provides several methods for converting an
 * <code>int</code> to a <code>String</code> and a <code>String</code>
 * to an <code>int</code>, as well as other constants and methods
 * useful when dealing with an <code>int</code>.
 *No conteúdo da certificação JAVA 5 seção 3 mostra claramente que são cobrados objetos Wrapper :

https://www.suntrainingcatalogue.com/eduserv/client/loadCourse.do?coCourseCode=CX-310-055

existe sim Wrapper no java 5

* <p>Implementation note: The implementations of the "bit twiddling"
 * methods (such as {@link #highestOneBit(int) highestOneBit} and
 * {@link #numberOfTrailingZeros(int) numberOfTrailingZeros}) are
 * based on material from Henry S. Warren, Jr.'s <i>Hacker's
 * Delight</i>, (Addison Wesley, 2002).
 *
 * @author  Lee Boynton
 * @author  Arthur van Hoff
 * @author  Josh Bloch
 * @version 1.93, 02/26/09
 * @since JDK1.0
 */
public final class Integer extends Number implements Comparable<Integer> {

Nem sempre, objetos e tipos primitivos só são inicializados quando são atributos da classe, quando são variáveis (dentro de métodos, construtores e blocos de inicialização) eles não possuem valores padrão, a única exceção, são os arrys cujas posições são inicializadas com os valores padrão de acordo com o seu tipo (ex.: objetos = null, int = 0....)!

E na verdade os Wrappers (na minha opinião) não facilitam em muita coisa não, servem mais para trabalhar com objetos ao invés de tipos primitivos!

Criado 28 de abril de 2010
Ultima resposta 28 de abr. de 2010
Respostas 8
Participantes 5