Java - Diferencia

   
Vista:

Diferencia

Publicado por Chiki (11 intervenciones) el 19/11/2008 23:09:25
Alguien me puede decir que diferencia hay entre estas dos declaraciones

byte numero;
Byte numero;

boolean numero;
Boolean numero;

(long y Long...)

o sea entre poner la primera letra mayuscula o minuscula
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Diferencia

Publicado por Tom (912 intervenciones) el 20/11/2008 09:48:30
Viene en cualquier tutorial.

byte es un tipo básico.
Byte es una clase.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Diferencia

Publicado por Mario (199 intervenciones) el 20/11/2008 14:22:19
Realmente es lo que te ha dicho Tom, pero por darte una respuesta un poco menos arisca y comprensible, ya que supongo que eres principiante...
Digamos que las que has escrito que empiezan por minúscula son solo variables "normales", solo albergan un valor, en esos casos... un solo byte, un solo long, un solo boolean... Las operaciones que podrás hacer con esas variables son muy limitadas. Poco más que leer y asignar el valor.
Por otro lado, al declararlas con mayúsculas, las estás declarando como un objeto de dicho tipo. Es decir... instancias un objeto de la clase Long por ejemplo.
Diferencias... pues que estos objetos tendrán funciones pertenecientes a su clase. Por ejemplo, con un objeto de tipo Long podrías hacer esto:

Long l;
String str;
str = l.toString(); // Así haces un cast directamente desde el objeto.
str = l.toOctalString(); // Así estás obteniendo el número "traducido" a octal.
Float f = l.floatValue(); // Así estás haciendo un cast a float...

Como verás, todo eso no lo puedes hacer con una variable de tipo long, ya que con esa variable solamente podrías leer el valor o asignarlo. Podrías convertirla usando los métodos estáticos de la clase Float...

Otra ventaja que tiene, que puede venir muy bien en ciertos casos, es que a un objeto de estas clases le puedes asignar el valor "null", cosa que no puedes hacer con las variables "normales".

Eso hace que a veces con las variables tengas que usar valores "predeterminados" para señalar que el valor no es válido, como el típico -1 para decir que cierta variable no ha sido leida aún... o que ese valor es incorrecto. Usando los objetos, podremos asignar el valor null y así no tendremos que "sacrificar" ningún valor de los que pueda tomar el objeto, ya que a veces es engorroso o ineficaz.

Espero que mas o menos se te aclaren las dudas ; )

Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar