Java Reference
In-Depth Information
TIP: (continued)
A single program with both type definitions ( Flavor and Berry ) could use both
Flavor.STRAWBERRY and Berry.STRAWBERRY .
So, when can you use STRAWBERRY instead of Flavor.STRAWBERRY ? The approximate
answer is when there is enough context for the compiler to know STRAWBERRY means
STRAWBERRY as defi ned in the type Flavor . For example, in a switch statement, if the
type of the controlling expression is Flavor , then STRAWBERRY can only mean Flavor.
STRAWBERRY . This rule will help in remembering when to use STRAWBERRY and when to
use Flavor.STRAWBERRY . But, sometimes you may simply have to check a reference or try
the two possibilities out and see which one (or ones) the compiler accepts.
Display 6.16
Enumerated Type in a switch Statement (part 1 of 2)
1 import java.util.Scanner;
2
3 public class EnumSwitchDemo
4 {
5 enum Flavor {VANILLA, CHOCOLATE, STRAWBERRY};
6 public static void main(String[] args)
7 {
8 Flavor favorite = null ;
9 Scanner keyboard = new Scanner(System.in);
10 System.out.println("What is your favorite flavor?");
11 String answer = keyboard.next();
12 answer = answer.toUpperCase();
13 favorite = Flavor.valueOf(answer);
The case labels must have just the name of
the value without the type name and dot.
14 switch (favorite)
15 {
16 case VANILLA:
17 System.out.println("Classic");
18 break;
19 case CHOCOLATE:
20 System.out.println("Rich");
21 break;
22 default :
23 System.out.println("I bet you said STRAWBERRY.");
24 break;
25 }
26 }
27 }
Search WWH ::




Custom Search