Class SwitchEntry

  • All Implemented Interfaces:
    NodeWithRange<Node>, NodeWithStatements<SwitchEntry>, NodeWithTokenRange<Node>, Observable, Visitable, HasParentNode<Node>, Cloneable

    public class SwitchEntry
    extends Node
    implements NodeWithStatements<SwitchEntry>

    One case in a switch statement

    The main Javadoc is in SwitchStmt

    Java 1.0-11

    
     switch (i) {
       case 1:
       case 2:
         System.out.println(444);
         break;
       default:
         System.out.println(0);
     }
     

    This contains three SwitchEntrys. All of them are of type STATEMENT_GROUP.
    • The first one has label 1 and no statements.
    • The second has label 2 and two statements (the println and the break).
    • The third, the default, has no label and one statement.

    Java 12-

    
         case 1 -> 15*15;
         case 2 -> { a++; b++; }
         case 3 -> throw new Exception();
     
    These are three new variants.
    • The first one is of type EXPRESSION and stores its Expression in an ExpressionStmt which is stored as the first and only statement in statements.
    • The second one is of type BLOCK and stores its BlockStmt as the first and only statement in statements.
    • The third one is of type THROWS_STATEMENT and stores its ThrowStmt as the first and only statement in statements.
    
         case MONDAY, FRIDAY, SUNDAY -> 6;
     
    Multiple case labels are now allowed.
    
         case 16*16, 10+10 -> 6;
     
    Many kinds of expressions are now allowed.
    Author:
    Julio Vilmar Gesser
    See Also:
    SwitchStmt, SwitchExpr