O Integer é o mesmo que int? Quero dizer, as difrenças se resumem por aí?
abs,
André AS
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:
Uma busca por Wrapper classes e AutoBoxing te trará resultados interessantes sobre o assunto.
Puxa que legal… valeu mesmo :lol: …
abs,
André AS
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> {
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.
As classes Integer, Character, Boolean, etc existem a partir da versão 5 do javaErrado, 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> {
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.
As classes Integer, Character, Boolean, etc existem a partir da versão 5 do javaErrado, 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> {
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.As classes Integer, Character, Boolean, etc existem a partir da versão 5 do javaErrado, 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!