Entschuldigung für meine Ignoranz. Ich konnte den Unterschied zwischen den folgenden scheinbar ähnlichen Codezeilen nicht verstehen. Was ist der Unterschied zwischen den beiden folgenden Zeilen des Java-Codes?
final int num1 = 1;
final int num2;
num2 = 2;
Was macht die num2
keinen Anspruch auf einen Schalter Fall konstant?
switch (expression) {
case num1:
System.out.println("Case A");
case num2:
System.out.println("Case B");
}
Können Sie uns zeigen, wie Sie das verwenden, dass Sie einen Fehler erhalten? Solange Sie num2 vor dem Einschalten deklarieren und initialisieren, sollte es kein Problem geben. – user1205577
Die Antworten hier und die Diskussion in den Kommentaren können helfen: http://stackoverflow.com/questions/16255270/final-variable-case-in-switch-statement Auch als Duplikat markieren. –
Ja, [diese] (http://stackoverflow.com/a/16255341/2358786) ist die Antwort. num1 ist die Kompilierzeitkonstante, während num2 nicht ist. – kiruwka