Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Valor predeterminado de los datos primitivos

Estas en el tema de Valor predeterminado de los datos primitivos en el foro de Java en Foros del Web. hola a todos tengo una curiosidad con respecto a los valores predeterminado, estoy utilizando netbeans en debian sid. paso lo siguiente en una función especifique ...
  #1 (permalink)  
Antiguo 10/05/2016, 22:13
Avatar de gacsnic75  
Fecha de Ingreso: septiembre-2012
Mensajes: 25
Antigüedad: 11 años, 7 meses
Puntos: 0
Pregunta Valor predeterminado de los datos primitivos

hola a todos tengo una curiosidad con respecto a los valores predeterminado, estoy utilizando netbeans en debian sid.

paso lo siguiente en una función especifique que recibiría datos byte pero el que llama a la función si netbean me manda un error de incompatibilidad de tipo de datos ejemplo

private void runfuncion(byte valor){
//cuerpo de la funcion
}

runfuncion(1)// esto netbeans me marca error por incompatibilidad

hice la prueba tambien con short y el mismo resultado me da un error de incompatibilidad, se que puedo solucionar con un cast, pero me imagino que lo que quiero ahorarme en memoria lo utilizare en proceso al hacer el cast.

en la mayoria de ocaciones he utilizado int para evitarme poner el cast ya que no le veo sentido hacer uno por otro.

si byte es de -127 a 128 deberia tomar 1 como un dato compatible. Sera netbean el que pone esa limitante como se corrige?

muchas gracias

Saludos
  #2 (permalink)  
Antiguo 11/05/2016, 03:20
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Valor predeterminado de los datos primitivos

Buenas,

No, es el compilador el que indica un error.

Para el compilador, por defecto 1 es un entero (32 bits) y no un byte (8 bits).

En estos casos requiere que se haga un casting explicito.

Código Java:
Ver original
  1. runfuncion((byte)1)

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #3 (permalink)  
Antiguo 11/05/2016, 18:06
Avatar de gacsnic75  
Fecha de Ingreso: septiembre-2012
Mensajes: 25
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Valor predeterminado de los datos primitivos

Cita:
Iniciado por Profesor_Falken Ver Mensaje
Buenas,

No, es el compilador el que indica un error.

Para el compilador, por defecto 1 es un entero (32 bits) y no un byte (8 bits).

En estos casos requiere que se haga un casting explicito.

Código Java:
Ver original
  1. runfuncion((byte)1)

Un saludo
gracias por la respuesta, entiendo entonces para esa situacion es mas conveniente definir de una ves int las varibles y no utlizar menor a ello

saludos
  #4 (permalink)  
Antiguo 12/05/2016, 00:24
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Valor predeterminado de los datos primitivos

Buenas,

Yo utilizaria byte solo para los casos en los que tengas que manejar esta unidad de informacion (para manejar ficheros binarios, transmitir informacion por red, etc).

Para manejar numeros enteros, efectivamente yo veo mejor utilizar siempre int o long.

Un saludo
__________________
If to err is human, then programmers are the most human of us

Etiquetas: cast
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:37.