Class SwitchEntry

java.lang.Object
com.github.javaparser.ast.Node
com.github.javaparser.ast.stmt.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