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

comprobar que un campo entero no es nulo

Estas en el tema de comprobar que un campo entero no es nulo en el foro de Java en Foros del Web. Hola a todos, tengo el siguiente método: public static final boolean hasValue(String value) { if (value != null && value.length()>0 ) { return true; } ...
  #1 (permalink)  
Antiguo 14/05/2008, 04:29
 
Fecha de Ingreso: marzo-2007
Mensajes: 34
Antigüedad: 17 años, 1 mes
Puntos: 1
comprobar que un campo entero no es nulo

Hola a todos,
tengo el siguiente método:


public static final boolean hasValue(String value) {

if (value != null && value.length()>0 ) {
return true;
}
return false;
}

para comprobar que los valores pasados son un String.
Ahora quisiera que hiciera lo mismo, pero con un parámetro tipo int, y no funciona:

public static final boolean hasValue(int value) {

if (value != null) {
return true;
}
return false;
}

existe algún modo de saber que se ha introducido o no un valor entero en un campo de un formulario?
Muchas gracias y un saludo!
  #2 (permalink)  
Antiguo 14/05/2008, 04:56
Avatar de Malkavian_J  
Fecha de Ingreso: mayo-2008
Ubicación: Madrid
Mensajes: 3
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: comprobar que un campo entero no es nulo

A mi se me ocurre que puedes pasar el valor del campo de un formulario como String y comprobar si es nulo o no como estas haciendo ahora mismo.

Pero además, después de comprobar que no es nulo, intentar hacer una conversión del tipo:

Int iNumero = Integer.parseInt(value);


Si salta la excepción, es que no es un entero (una NumberFormatException)



Hay formas más fáciles con javascript, y con java tienes el instanceOf, o el valueOf... no se, hay muchas formas, seguro que alguien puede darte alguna mejor.

Saludos
  #3 (permalink)  
Antiguo 14/05/2008, 07:05
Avatar de djagu_26  
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 518
Antigüedad: 16 años, 3 meses
Puntos: 6
Re: comprobar que un campo entero no es nulo

Hola como estas? te aclaro por las dudas los tipos int,double,long son tipos de datos llamados primitivos y no se pueden comparar con el null debido a que no son objetos en cambio los tipos Integer,Double y Long son objetos los cual si se puden comparar con null.
saludos
__________________
"La magia no existe, la programacion si"

A/P Agustin Sivoplas
[email protected]
  #4 (permalink)  
Antiguo 14/05/2008, 07:38
Avatar de Llave  
Fecha de Ingreso: abril-2005
Ubicación: Galicia
Mensajes: 52
Antigüedad: 19 años
Puntos: 1
Sonrisa Re: comprobar que un campo entero no es nulo

Una forma que utilicé yo en el pasado, tiene que ver con lo que comenta djagu_26: Ese tipo de variables de tipos primitivos no pueden ser null.

Lo que yo hacía era lo siguiente: Salvo en casos contados, el rango de valores válido suele estar acotado en un dominio conocido (por ejemplo, si lo que pides es edad tu rango válido es edades >= 0).

Así que, lo que puedes hacer es inicializar el campo, cuando lo definas, a un valor por defecto que sabes que es inválido (por ejemplo -1 en el caso de la edad) y preguntar contra este valor si el formulario lo ha cambiado.

Es una idea.

En caso de que no puedas hacerlo así, la mejor forma se me ocurre leerlo como un String y luego tratar de convertirlo. Si al convertirlo o tratar de leerlo como entero, te tira una excepción... ya sabes que es nulo (es lo mismo que te aconseja Malkavian_J
  #5 (permalink)  
Antiguo 14/05/2008, 08:18
 
Fecha de Ingreso: marzo-2007
Mensajes: 34
Antigüedad: 17 años, 1 mes
Puntos: 1
Re: comprobar que un campo entero no es nulo

Gracias por la idea Malkavian_J y por la aclaración djagu_26.
La idea de Llave es sencilla, y funciona... con un pequeño matiz, cuando el campo int se deja "en blanco" tampoco sería válido, de ahí la comparación que hacía con "null". Pero aún así, muchas gracias, porque he hecho una traza y resulta que por defecto este campo int se pone a "0", con lo que solo será necesario comprobar si el valor sigue siendo 0 y ya está (suponiendo que el 0 no sea un valor válido... :S).
Muchas gracias y un saludete!
  #6 (permalink)  
Antiguo 14/05/2008, 08:30
Avatar de Malkavian_J  
Fecha de Ingreso: mayo-2008
Ubicación: Madrid
Mensajes: 3
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: comprobar que un campo entero no es nulo

Cita:
Iniciado por veroman Ver Mensaje
Gracias por la idea Malkavian_J y por la aclaración djagu_26.
La idea de Llave es sencilla, y funciona... con un pequeño matiz, cuando el campo int se deja "en blanco" tampoco sería válido, de ahí la comparación que hacía con "null". Pero aún así, muchas gracias, porque he hecho una traza y resulta que por defecto este campo int se pone a "0", con lo que solo será necesario comprobar si el valor sigue siendo 0 y ya está (suponiendo que el 0 no sea un valor válido... :S).
Muchas gracias y un saludete!

Si puedes utilizar javascript yo le pondría una máscara para que solo se pudieran introducir enteros, porque si pones "Edad" y te pone "A"... no es nulo pero tampoco válido...
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 17:35.