Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   JAVA (https://www.clubdelphi.com/foros/forumdisplay.php?f=16)
-   -   enum en java 6 (https://www.clubdelphi.com/foros/showthread.php?t=54293)

foetus 13-03-2008 15:15:35

enum en java 6
 
Saludos

alguien me podria explicar de forma básica y brebe como funciona el objeto o tipo de datos enum en java.????

:confused::confused::confused::confused:

Fate 14-03-2008 22:03:05

Ejemplo
 
public enum IdStatusFlow {
REGISTRO_RECLAMACION (0),
PAGO_REQUERIDO (1),
MEDIO_ENVIO_REQUERIDO (2),
ELEGIR_CORRECIONES (3),
CAPTURAR_CORRECIONES (4),
REVISION (5),
RECLAMACION_CANCELADA (6),
RECLAMACION_REGISTRADA (7);
}


Despues puedes en lugar de compara una variable digamos X con 0,1,2 o asi, pues mejor con su sinónimo, ej:

Código:

if(x == PAGO_REQUERIDO ){
algo
}


foetus 14-03-2008 22:53:49

ok. entonces el código correcto seria algo como esto??

Código PHP:

public enum IdStatusFlow {
REGISTRO_RECLAMACION (0),
PAGO_REQUERIDO (1),
MEDIO_ENVIO_REQUERIDO (2),
ELEGIR_CORRECIONES (3),
CAPTURAR_CORRECIONES (4),
REVISION (5),
RECLAMACION_CANCELADA (6),
RECLAMACION_REGISTRADA (7);


public 
IdStatusFlow xIdStatusFlow.REGISTRO_RECLAMACION;

if(
== IdStatusFlow.PAGO_REQUERIDO ){
algo


si es haci que pasa con los indices ej: REVISION (5), que pasa con el 5???

Fate 18-03-2008 23:21:09

Es un sinónimo
 
Cita:

Empezado por foetus (Mensaje 273429)
ok. entonces el código correcto seria algo como esto??

Código PHP:

public enum IdStatusFlow {
REGISTRO_RECLAMACION (0),
PAGO_REQUERIDO (1),
MEDIO_ENVIO_REQUERIDO (2),
ELEGIR_CORRECIONES (3),
CAPTURAR_CORRECIONES (4),
REVISION (5),
RECLAMACION_CANCELADA (6),
RECLAMACION_REGISTRADA (7);


public 
IdStatusFlow xIdStatusFlow.REGISTRO_RECLAMACION;

if(
== IdStatusFlow.PAGO_REQUERIDO ){
algo


si es haci que pasa con los indices ej: REVISION (5), que pasa con el 5???



Es un sinónimo, para que no uses lo que se conoce en este argot como "numers magicos" que no sabemos ni que coño son, es decir, en lugar de comparar con un 5 comparas con su sinonimo " REVISION", es decir, estas comparando a un 5

__hector 19-03-2008 00:04:08

'Numeros magicos': si mal no recuerdo hacia referencia a esos programas (mucho en C) en los que se declaraba una constante n con un valor x que hacia que algun metodo o funcion 'funcionara' o 'hiciera el trabajo', pero no se tenia ni la mas put. idea de el significado. Creo que por eso se llamaban numeros magicos, con ellos se completaba el trabajo, punto.

Los enumeradores vienen a darle un significado al menos semantico al asunto, asi en vez de decir: if(x == &HF001) o x >> &H098, puedes decir: if(x == Enumerador.DireccionSalidaVideo), donde logico sabemos que el &HF001 hace referencia a un numero que representa una constante de la 'salida de video'. Es basicamente eso.

Hay que tomar en cuenta que en Java los enumeradores no son simples 'enumeradores' como por ejemplo en .NET (o anteriormente en Java, utilizando interfaces y constantes publicas que simulaban enumeradores), sino que son un tipo especial de clase que tiene la facultad, ademas de enumerar, de hacer todo lo que una clase puede hacer, y que cuenta ademas con caracteristicas muy especiales (como esta de enumerar, p. ej). Te recomiendo que le des una pequeña leidita a la documentacion de Java para que te enteres de lo poderoso que pueden ser.

Suerte!

foetus 19-03-2008 13:59:18

ok. muchas gracias por sus comment, me han sido de gran ayuda...

un saludo.


La franja horaria es GMT +2. Ahora son las 20:20:27.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi