Hard
What will be the output of the following code :
class AutoboxingQuestion {
public static void main(String[] args) {
Integer a = 10;
Integer b = 10;
Integer c = 200;
Integer d = 200;
System.out.println(a == b);
System.out.println(c == d);
}
}
Author: JoffreyStatus: PublishedQuestion passed 241 times
Edit
4
Community Evaluations
Selim Hoummadi
30/05/2024
J'ai été surpris, je pensais qu'avec l'autoboxing et unboxing, le compilateur aurait généré des instructions lors de la comparaison. Et j'imagine que ça peut facilement être la source de bug dans des programmes
Du coup +1 pour cette question, difficile mais intéressante et pertinente dans le développement Java de tous les jours
Mohamed
15/06/2024
Le piège des valeurs possibles des entiers "entre -128 et 127" les Integer sont mis dans un cache donc l'opérateur == compare les références des objets, par contre pour la valeur 200 qui est en dehors de l'intervalle, l'opérateur == considère que ce sont deux objets avec des références différentes
12
How should a package be named in Java?13
What is the difference between an interface and an abstract class in Java?8
Add elements to an ArrayList in Java10
How to concatenate two strings of characters in Java?7
Are arrays primitives types in Java?5
Compare two strings in Java26
Write a Java program that prints 'welovedev'.