public void handleParsedCommand(String[] commandArr) {
if(commandArr[0].equalsIgnoreCase("message")) {
int target = Integer.parseInt(commandArr[1]);
String message = commandArr[2];
MachatServer.sendMessage(target, this.conId, message);
} else if(commandArr[0].equalsIgnoreCase("quit")) {
// Tell the server to disconnect us.
MachatServer.disconnect(conId);
} else if(commandArr[0].equalsIgnoreCase("confirmconnect")) {
// Blah blah and so on for another 10 types of command
} else {
try {
out.write("Unknown: " + commandArr[0] + "\n");
} catch (IOException e) {
System.out.println("Failed output warning of unknown command.");
}
}
}
J'ai cette partie de mon code de serveur pour gérer les types de messages. Chaque message contient le type dans commandArr[0]
et les paramètres dans le reste de commandArr[]
. Cependant, ce code actuel, tout en travaillant, semble très peu éloquent. Y a-t-il une meilleure façon de le gérer? (Au meilleur de ma connaissance, String
valeurs ne peuvent pas être utilisées dans switch
déclarations, et même alors, une déclaration switch
ne serait qu'une petite amélioration.Meilleur moyen d'écrire ce code Java?
Quelle version de Java? SWITCH est * enfin * supporté par une chaîne dans la version la plus récente (ou a été publiée?) –
C'est Java 6. . – Macha
peut-être http://stackoverflow.com/questions/1199646/long-list-of-if-statements-in-java/1199677 est lié à celui-ci? – dfa