Cuando asignamos un valor entero a un objeto Integer, el valor se encuadra automáticamente en un objeto Integer. Por ejemplo, la declaración «Entero x = 10» crea un objeto ‘x’ con valor 10.
A continuación se presentan algunas preguntas de salida interesantes basadas en la comparación de objetos enteros en caja automática.
Predecir la salida del siguiente programa Java
// file name: Main.java public class Main { public static void main(String args[]) { Integer x = 400, y = 400; if (x == y) System.out.println("Same"); else System.out.println("Not Same"); } }
Producción:
Not Same
Dado que x e y se refieren a objetos diferentes, obtenemos la salida como «No es lo mismo»
El resultado del siguiente programa es una sorpresa de Java.
// file name: Main.java public class Main { public static void main(String args[]) { Integer x = 40, y = 40; if (x == y) System.out.println("Same"); else System.out.println("Not Same"); } }
Producción:
Same
En Java, los valores de -128 a 127 se almacenan en caché, por lo que se devuelven los mismos objetos. La implementación de valueOf() usa objetos almacenados en caché si el valor está entre -128 y 127.
Si creamos explícitamente objetos Integer usando un nuevo operador, obtenemos el resultado como «No es el mismo». Consulte el siguiente programa Java. En el siguiente programa, valueOf() no se usa.
// file name: Main.java public class Main { public static void main(String args[]) { Integer x = new Integer(40), y = new Integer(40); if (x == y) System.out.println("Same"); else System.out.println("Not Same"); } }
Producción:
Not Same
Prediga la salida del siguiente programa. Este ejemplo es aportado por Bishal Dubey .
class GFG { public static void main(String[] args) { Integer X = new Integer(10); Integer Y = 10; // Due to auto-boxing, a new Wrapper object // is created which is pointed by Y System.out.println(X == Y); } }
Producción:
false
Explicación: Aquí se crearán dos objetos. El primer objeto señalado por X debido a la llamada del nuevo operador y el segundo objeto se crearán debido al encuadre automático.
Este artículo ha sido compilado por Abhay Rathi . Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA