Entiendo que cuando uno usa el tipo de dato primitivo, y hace la comparación con ==, el comprara la referencia en memoria y por esta razón dice que son iguales. Ahora bien, en el video de la clase donde hacen referencia a esto, el instructor dice, cuando se crea una variable primitiva tu dices algo como
int numero1 = 2; int numero2 = numero1;
"Cuando tenemos variables del tipo primitivo, realmente se hace una copia. Es decir, tenía un número en numero1 y para numero2 realicé una copia de ese numero1. Entonces, tanto numero1 como numero2 tienen un valor que son independientes. Si yo modifico numero2, numero1 no va a ser modificado y viceversa."
El dijo básicamente que se crea un espacio en memoria nuevo para numero2, sin embargo, ¿Por qué al hacer la comparación con el == apunta a la misma referencia en memoria? es lo único que me genero dudas.