Integer é o mesmo que int?

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

abs,
André AS

sim

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

É 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.

Puxa que legal… valeu mesmo :lol: …

abs,
André AS

[quote=rod.attack]
As classes Integer, Character, Boolean, etc existem a partir da versão 5 do java[/quote]

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

[code]
/**

  • The Integer class wraps a value of the primitive type
  • int in an object. An object of type
  • Integer contains a single field whose type is
  • int.
  • In addition, this class provides several methods for converting an
  • int to a String and a String
  • to an int, as well as other constants and methods
  • useful when dealing with an int.
  • 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 Hacker’s
  • Delight, (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 {[/code]

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.

[quote=thiago.correa][quote=rod.attack]
As classes Integer, Character, Boolean, etc existem a partir da versão 5 do java[/quote]

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

[code]
/**

  • The Integer class wraps a value of the primitive type
  • int in an object. An object of type
  • Integer contains a single field whose type is
  • int.
  • In addition, this class provides several methods for converting an
  • int to a String and a String
  • to an int, as well as other constants and methods
  • useful when dealing with an int.
  • 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 Hacker’s
  • Delight, (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 {[/code]

[/quote]

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.

[quote=thiago.correa][quote=rod.attack]
As classes Integer, Character, Boolean, etc existem a partir da versão 5 do java[/quote]

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

[code]
/**

  • The Integer class wraps a value of the primitive type
  • int in an object. An object of type
  • Integer contains a single field whose type is
  • int.
  • In addition, this class provides several methods for converting an
  • int to a String and a String
  • to an int, as well as other constants and methods
  • useful when dealing with an int.
    *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

  • 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 Hacker’s
  • Delight, (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 {[/code]

[/quote]

[quote=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.

[quote=thiago.correa][quote=rod.attack]
As classes Integer, Character, Boolean, etc existem a partir da versão 5 do java[/quote]

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

[code]
/**

  • The Integer class wraps a value of the primitive type
  • int in an object. An object of type
  • Integer contains a single field whose type is
  • int.
  • In addition, this class provides several methods for converting an
  • int to a String and a String
  • to an int, as well as other constants and methods
  • useful when dealing with an int.
    *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

  • 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 Hacker’s
  • Delight, (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 {[/code]

[/quote][/quote]

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!