0
votes

Comment ajouter un élément de matrice à chaîne dans la valeur du boîtier de l'interrupteur Java?

Nous savons que depuis Java 7, l'expression de commutateur peut être une chaîne. Je faisais donc une application, où, lorsqu'un utilisateur sélectionne une catégorie, il se verra attribuer le service concerné selon la valeur de la catégorie. Voici le code: -

case CATEGORY[0]: case CATEGORY[1]: 
     return DEPTS[2];


3 commentaires

Vous pouvez utiliser une constante mappe , chaîne> pour stocker vos mappages de la valeur de clé, itérer la liste s dans la touchette pour rechercher n'importe quel match avec le entrez et renvoyez la valeur associée. Certaines clés seront 1 - liste s.


Seule constante est autorisée dans case .


Créez simplement une cartographie pour cette tâche. Vous pouvez utiliser une carte pour un exemple.


3 Réponses :


7
votes

Pourquoi n'utilisez-vous pas un énumsible pour le faire?

String category = "Wind";
DepartmentCategory dc = DepartmentCategory.valueOf(category);
dc.getDepartment(); // Returns the department


1 commentaires

Merci pour la suggestion d'utiliser Enum dans cette situation. Cela a fonctionné pour moi.



1
votes

Vous pouvez utiliser un mappe pour mapper la catégorie au département.

Au lieu d'un commutateur, vous devrez utiliser map.get ( catégorie) qui retournera le département.

Vous pouvez en faire un mappe > pour mapper le département des catégories et faire xxx

Edit: Avec Enums, cela fonctionne bien s'il n'y aura pas de départements supplémentaires ni de catégories à l'avenir. Une carte permet une approche plus dynamique. Les deux fonctionnent bien, si utilisé correctement


1 commentaires

Cette approche me semble plus efficace. Je vais essayer cela à coup sûr. Merci pour la suggestion.



0
votes

Je voudrais utiliser un mapper pour stocker vos associations entre le département et la catégorie plutôt que sur des relevés de commutation. Il semble que vous essayiez d'utiliser un tableau [] à dessein dans lequel il n'était pas destiné.

Si vous utilisez une carte mappe alors vous pouvez stocker vos données comme suit: xxx

Vous pouvez ensuite récupérer facilement les noms de départements à l'aide de la syntaxe: xxx

si vous souhaitez associer plusieurs Départements Vous pouvez utiliser mappe > pour représenter une relation entre un type et une catégorie et plusieurs départements.

Traditionnellement si vous pensez à la représentation dans une base de données Vous utiliseriez une carte avec un index et un objet en dessous.

Je ne pense pas que vous souhaitiez utiliser des tableaux pour le faire dans votre cas.


0 commentaires