10
votes

Utilisation de Java 5 Enums comme variables de vélocité

Tout. Je dois utiliser Java 5 Enum dans un modèle de vélocité, de sorte que je puisse écrire quelque chose comme xxx

Comment peut-on faire? Merci d'avance.


1 commentaires

Selon ce que vous êtes si ... d'autre .. effectivement. En outre, si cela ne concerne que 1 type ou plusieurs opérations différentes. Stackoverflow.com/ Questions / 859563 / ... pourrait être utile.


3 Réponses :


3
votes

Pas jolie, mais une solution de contournement serait de placer (manuellement) de placer les constantes de l'énum que vous avez besoin dans le contexte de la vélocité. xxx

alors vous pourriez dire xxx

peut-être plus facile: utilisez simplement le Tostring () de votre instance Enum xxx


1 commentaires

@Bryantsai: La deuxième version sera également vraie si $ var détient un autre objet qui imprime comme une information, telle qu'une chaîne. Peu probable que cela soit un problème, cependant.



19
votes

En fait, au lieu de la méthode de Tostring (), il serait préférable d'utiliser le nom (), car il renvoie exactement la valeur de Enum et que la finale ne peut donc pas être remplacée à l'avenir. Donc, dans la vélocité, vous pouvez utiliser quelque chose comme

#if($var.name() == "INFO")


0 commentaires

7
votes

à partir de Velocity 1.5, si les deux éléments comparés avec == sont de différentes classes, il fait automatiquement une totring () sur les deux. Alors essayez xxx


0 commentaires