Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - 16BITBoy

#1
1 - Comparas dos objetos, no los valores de ambos. Esto son dos "hashes" distintos (no confundir con direcciones de memoria).
2 - Exactamente lo mismo que lo anterior, la unica diferencia es que no lo estamos creando en el mismo momento, estos dos objetos se crearon antes.
3 - Se hace exactamente lo mismo, en este caso devuelve true. Depende de la implementación de la maquina virtual, supongo que la jvm parece estar usando el mismo objeto para ciertos valores coincidentes, luego no tiene por que ser así. Desconozco el criterio exacto por el cual puede dar true o no, pero si declaras Integer a1 = 1; e Integer a2 = 1; parece lógico que la jvm cree dos referencias y un solo objeto para "optimizar" un poco ya que se almacena el mismo valor. Esto no quiere decir que siempre vaya a ser así.
4 - La implementación de String.equals() compara el valor contenido por el objeto string con el literal o con el objeto que le pases como argumento. El valor evidentemente da true.
5 - StringBuilder usa el método equals() de la clase object. Esto es, objeto1 == objeto2 <==> objeto1.equals(objeto2) para las instancias de la clase Object y de todas aquellas clases que no sobreescriban el método equals() de la clase Object.