Articles of autoboxing

Por que int num = Integer.getInteger (“123”) lança NullPointerException?

O código a seguir lança NullPointerException : int num = Integer.getInteger(“123”); Meu compilador está invocando o getInteger em null, já que é estático? Isso não faz nenhum sentido! O que está acontecendo?

Java: Matriz de tipos de dados primitivos não é autobox

Eu tenho um método como este: public static boolean isMemberOf(T item, T[] set) { for (T t : set) { if (t.equals(item)) { return true; } } return false; } Agora eu tento chamar esse método usando um char para T : char ch = ‘a’; char[] chars = new char[] { ‘a’, ‘b’, ‘c’ […]

Como funciona o java auto boxing / unboxing?

Desde o JDK 5.0, o auto box / unboxing foi introduzido em java, o truque é simples e útil, mas quando comecei a testar diferentes conversões entre classs wrapper e tipos primitivos, fiquei muito confuso como o conceito de auto boxe funciona em java, por exemplo : Boxe int intValue = 0; Integer intObject = […]

Booleanos, operadores condicionais e autoboxing

Por que isso lança NullPointerException public static void main(String[] args) throws Exception { Boolean b = true ? returnsNull() : false; // NPE on this line. System.out.println(b); } public static Boolean returnsNull() { return null; } enquanto isso não public static void main(String[] args) throws Exception { Boolean b = true ? null : false; […]

Por que usamos autoboxing e unboxing em Java?

Autoboxing é a conversão automática que o compilador Java faz entre os tipos primitivos e suas classs de wrapper de object correspondentes. Por exemplo, converter um int em um Integer, um double em um Double e assim por diante. Se a conversão for para o outro lado, isso é chamado de unboxing. Então, por que […]

Como converter int em List em Java?

Como faço para converter int[] em List em Java? Claro, estou interessado em qualquer outra resposta do que fazê-lo em um loop, item por item. Mas se não houver outra resposta, vou escolher essa como a melhor para mostrar o fato de que essa funcionalidade não faz parte do Java.

Weird Integer boxing em Java

Acabei de ver código semelhante a este: public class Scratch { public static void main(String[] args) { Integer a = 1000, b = 1000; System.out.println(a == b); Integer c = 100, d = 100; System.out.println(c == d); } } Quando executado, este bloco de código será impresso: false true Eu entendo porque o primeiro é […]

Como comparar corretamente dois inteiros em Java?

Eu sei que se você comparar um inteiro primitivo checkbox com uma constante como: Integer a = 4; if (a < 5) a será automaticamente descompactado e a comparação funcionará. No entanto, o que acontece quando você está comparando dois Integers checkbox e deseja comparar igualdade ou menor que / maior que? Integer a = […]