/* package whatever; // don't place package name! */
import java.util.* ;
import java.lang.* ;
import java.io.* ;
/* Name of the class has to be "Main" only if the class is public. */
class Main
{
{
int l = 7 ;
System .
out .
println ( "Las ls son iguales" ) ; else
System .
out .
println ( "Las ls son distintas" ) ;
/**
* Vamos a desgranar el ejercicio para saber porque imprime
* "Las ls son distintas"
*/
System .
out .
println ( "int l = " + l
) ; System .
out .
println ( "Long L = " + L
) ;
/**
* Hasta acá todo bien, al parecer realiza bien el casteo de la variable
* l de int a Long:
* (Integer)l -> sin embargo hay que evitar este tipo de casteo entre
* tipos de datos primitivos y clases.
* Con "instanceof" podemos comprobar si una variable es una instancia de
* algún tipo de dato o clase.
*/
System .
out .
print ( "El casting de int a Long se realizó bien? " ) ;
System .
out .
print ( "Variable L es del tipo Long? " ) ;
/**
* Y algunas comprobaciones más usando equals
*/
// Comparamos L con un 7: da false.
System .
out .
print ( "L.equals(7): " ) ; System .
out .
println ( L.
equals ( 7 ) ) ;
// 7 es un número del tipo entero, para poder comparar L con otro
// número, necesitamos que los dos sean del mismo tipo, es decir, 7
// debe ser del tipo Long.
// Sin embargo,
// esto de abajo está mal. Para convertir un entero (primitivo) a Long (clase)
// hay que hacerlo como aparece más abajo, sino recibiriemos un error.
// System.out.println(L.equals((Long)7));
// Forma correcta
System .
out .
print ( "L.equals(new Long(7)): " ) ;
/**
* Volviendo al ejercicio: para que nos de true, debemos convertir la
* variable l de int a Long, pero de esta forma:
*/
System .
out .
print ( "L.equals(new Long(l)): " ) ;
// Además, debe ser sí o sí del tipo Long, no del tipo Integer:
System .
out .
print ( "L.equals(new Integer(l)): " ) ;
/**
* CONCLUSIÓN: creería que la respuesta es la:
* c. Debido a que L es de la clase Long y l se castea a clase Integer
*/
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgTWFpbgp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlMb25nIEwgPSBuZXcgTG9uZyg3KTsKCQlpbnQgbCA9IDc7CgkJaWYoTC5lcXVhbHMoKEludGVnZXIpbCkpCgkJCVN5c3RlbS5vdXQucHJpbnRsbigiTGFzIGxzIHNvbiBpZ3VhbGVzIik7CgkJZWxzZQoJCQlTeXN0ZW0ub3V0LnByaW50bG4oIkxhcyBscyBzb24gZGlzdGludGFzIik7CgkJCQoJCS8qKgoJCSAqIFZhbW9zIGEgZGVzZ3JhbmFyIGVsIGVqZXJjaWNpbyBwYXJhIHNhYmVyIHBvcnF1ZSBpbXByaW1lCgkJICogIkxhcyBscyBzb24gZGlzdGludGFzIgoJCSAqLwoJCVN5c3RlbS5vdXQucHJpbnRsbigiLS0tLSIpOwoJCVN5c3RlbS5vdXQucHJpbnRsbigiaW50IGwgPSAiICsgbCk7CgkJU3lzdGVtLm91dC5wcmludGxuKCJMb25nIEwgPSAiICsgTCk7CgkJU3lzdGVtLm91dC5wcmludGxuKCIoSW50ZWdlcilsID0gIiArIChJbnRlZ2VyKWwpOwoJCVN5c3RlbS5vdXQucHJpbnRsbigiLS0tLSIpOwoJCQoJCS8qKiAKCQkgKiBIYXN0YSBhY8OhIHRvZG8gYmllbiwgYWwgcGFyZWNlciByZWFsaXphIGJpZW4gZWwgY2FzdGVvIGRlIGxhIHZhcmlhYmxlCgkJICogbCBkZSBpbnQgYSBMb25nOgoJCSAqIChJbnRlZ2VyKWwgLT4gc2luIGVtYmFyZ28gaGF5IHF1ZSBldml0YXIgZXN0ZSB0aXBvIGRlIGNhc3RlbyBlbnRyZQoJCSAqIHRpcG9zIGRlIGRhdG9zIHByaW1pdGl2b3MgeSBjbGFzZXMuCgkJICogQ29uICJpbnN0YW5jZW9mIiBwb2RlbW9zIGNvbXByb2JhciBzaSB1bmEgdmFyaWFibGUgZXMgdW5hIGluc3RhbmNpYSBkZQoJCSAqIGFsZ8O6biB0aXBvIGRlIGRhdG8gbyBjbGFzZS4KCQkgKi8KCQlTeXN0ZW0ub3V0LnByaW50KCJFbCBjYXN0aW5nIGRlIGludCBhIExvbmcgc2UgcmVhbGl6w7MgYmllbj8gIik7CgkJU3lzdGVtLm91dC5wcmludGxuKChJbnRlZ2VyKWwgaW5zdGFuY2VvZiBJbnRlZ2VyKTsKCQkKCQlTeXN0ZW0ub3V0LnByaW50KCJWYXJpYWJsZSBMIGVzIGRlbCB0aXBvIExvbmc/ICIpOwoJCVN5c3RlbS5vdXQucHJpbnRsbihMIGluc3RhbmNlb2YgTG9uZyk7CgkJCgkJU3lzdGVtLm91dC5wcmludGxuKCItLS0tIik7CgkJCgkJLyoqCgkJICogWSBhbGd1bmFzIGNvbXByb2JhY2lvbmVzIG3DoXMgdXNhbmRvIGVxdWFscwoJCSAqLwoJCS8vIENvbXBhcmFtb3MgTCBjb24gdW4gNzogZGEgZmFsc2UuCgkJU3lzdGVtLm91dC5wcmludCgiTC5lcXVhbHMoNyk6ICIpOwoJCVN5c3RlbS5vdXQucHJpbnRsbihMLmVxdWFscyg3KSk7CgkJCgkJLy8gNyBlcyB1biBuw7ptZXJvIGRlbCB0aXBvIGVudGVybywgcGFyYSBwb2RlciBjb21wYXJhciBMIGNvbiBvdHJvCgkJLy8gbsO6bWVybywgbmVjZXNpdGFtb3MgcXVlIGxvcyBkb3Mgc2VhbiBkZWwgbWlzbW8gdGlwbywgZXMgZGVjaXIsIDcKCQkvLyBkZWJlIHNlciBkZWwgdGlwbyBMb25nLgoJCS8vIFNpbiBlbWJhcmdvLAoJCS8vIGVzdG8gZGUgYWJham8gZXN0w6EgbWFsLiBQYXJhIGNvbnZlcnRpciB1biBlbnRlcm8gKHByaW1pdGl2bykgYSBMb25nIChjbGFzZSkKCQkvLyBoYXkgcXVlIGhhY2VybG8gY29tbyBhcGFyZWNlIG3DoXMgYWJham8sIHNpbm8gcmVjaWJpcmllbW9zIHVuIGVycm9yLgoJCS8vIFN5c3RlbS5vdXQucHJpbnRsbihMLmVxdWFscygoTG9uZyk3KSk7CgkJCgkJLy8gRm9ybWEgY29ycmVjdGEKCQlTeXN0ZW0ub3V0LnByaW50KCJMLmVxdWFscyhuZXcgTG9uZyg3KSk6ICIpOwoJCVN5c3RlbS5vdXQucHJpbnRsbihMLmVxdWFscyhuZXcgTG9uZyg3KSkpOwoJCQoJCVN5c3RlbS5vdXQucHJpbnRsbigiLS0tLSIpOwoJCS8qKgoJCSAqIFZvbHZpZW5kbyBhbCBlamVyY2ljaW86IHBhcmEgcXVlIG5vcyBkZSB0cnVlLCBkZWJlbW9zIGNvbnZlcnRpciBsYQoJCSAqIHZhcmlhYmxlIGwgZGUgaW50IGEgTG9uZywgcGVybyBkZSBlc3RhIGZvcm1hOgoJCSAqLwoJCSBTeXN0ZW0ub3V0LnByaW50KCJMLmVxdWFscyhuZXcgTG9uZyhsKSk6ICIpOwoJCSBTeXN0ZW0ub3V0LnByaW50bG4oTC5lcXVhbHMobmV3IExvbmcobCkpKTsKCQkgCgkJIC8vIEFkZW3DoXMsIGRlYmUgc2VyIHPDrSBvIHPDrSBkZWwgdGlwbyBMb25nLCBubyBkZWwgdGlwbyBJbnRlZ2VyOgoJCSBTeXN0ZW0ub3V0LnByaW50KCJMLmVxdWFscyhuZXcgSW50ZWdlcihsKSk6ICIpOwoJCSBTeXN0ZW0ub3V0LnByaW50bG4oTC5lcXVhbHMobmV3IEludGVnZXIobCkpKTsKCQkgCgkJIC8qKgoJCSAgKiBDT05DTFVTScOTTjogY3JlZXLDrWEgcXVlIGxhIHJlc3B1ZXN0YSBlcyBsYToKCQkgICogYy4gRGViaWRvIGEgcXVlIEwgZXMgZGUgbGEgY2xhc2UgTG9uZyB5IGwgc2UgY2FzdGVhIGEgY2xhc2UgSW50ZWdlcgoJCSAgKi8KCQkKCX0KfQ==