fr
fr

Question from the Java - Fundamentals test

Test the autoboxing feature in Java.

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 239 times
Edit
4
Community Evaluations
developer avatar
Auteur anonyme
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
developer avatar
Auteur anonyme
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
developer avatar
Auteur anonyme
11/03/2024
ahh c'est vicieux, il ne faut pas mettre ce genre de question dans un tests de recrutement :)
developer avatar
Auteur anonyme
15/03/2024
Faut aussi des questions pour différencier les casus des nerds !
developer avatar
Auteur anonyme
15/03/2024
C'est clair, au moins on rigole un peu 😄