Informações interessantes - valueOf x parse
Várias classes possuem os métodos parse e valueOf. Por exemplo, na classe Integer, o método valueOf obtém uma instância de Integer, já o método parseInt (lida com sinal de -) obtém um valor int, ou seja, parseInt retorna um tipo primitivo int e valueOf retorna um objeto Integer.
O método Integer.valueOf retornará um novo objeto do tipo Integer se o valor for < -128 ou > 127.
Caso contrário, ele retornará um objeto de um pool, já previamente criado.
Ou seja:
Integer.valueOf(10) == Integer.valueOf(10), porém
Integer.valueOf(1000) != Integer.valueOf(1000)
Por isso, para a comparação entre dois wrappers de tipo primitivo, como o "Integer", use o método equals e não ==. Esse aviso fica especialmente importante agora que o java implementa auto-unboxing.
Integer.valueOf pega um tipo primitivo int ou uma string e retorna um objeto do tipo Integer.
Você também pode passar número em outras bases que ele transforma para a base decimal, veja o exemplo:
public static void main(String[] args) {
Integer a = Integer.valueOf(100);
Integer b = Integer.valueOf("100");
Integer c = Integer.valueOf("100", 2); //100 na base 2 = 4 na base 10.
System.out.println(a); //100
System.out.println(b); //100
System.out.println(c); //4
}
Tipos primitivos x Classes-wrapper dos tipos primitivos
O método Integer.valueOf retornará um novo objeto do tipo Integer se o valor for < -128 ou > 127.
Caso contrário, ele retornará um objeto de um pool, já previamente criado.
Ou seja:
Integer.valueOf(10) == Integer.valueOf(10), porém
Integer.valueOf(1000) != Integer.valueOf(1000)
Por isso, para a comparação entre dois wrappers de tipo primitivo, como o "Integer", use o método equals e não ==. Esse aviso fica especialmente importante agora que o java implementa auto-unboxing.
Integer.valueOf pega um tipo primitivo int ou uma string e retorna um objeto do tipo Integer.
Você também pode passar número em outras bases que ele transforma para a base decimal, veja o exemplo:
public static void main(String[] args) {
Integer a = Integer.valueOf(100);
Integer b = Integer.valueOf("100");
Integer c = Integer.valueOf("100", 2); //100 na base 2 = 4 na base 10.
System.out.println(a); //100
System.out.println(b); //100
System.out.println(c); //4
}
Tipos primitivos x Classes-wrapper dos tipos primitivos
boolean, byte, char, short, int, float, long e double são tipos primitivos
Boolean, Byte, Character, Short, Integer, Float, Long e Double são classes-wrapper dos tipos primitivos
Fonte(s):
http://www.guj.com.br/java/136909-integerparseint-ou-integervalueof
Boolean, Byte, Character, Short, Integer, Float, Long e Double são classes-wrapper dos tipos primitivos
Fonte(s):
http://www.guj.com.br/java/136909-integerparseint-ou-integervalueof
Comments
Post a Comment