package javaObject;
import com.sun.glass.events.WheelEvent;
public class javaEnum {
public static void main(String[] args) {
/*
* 无论是int常量还是String常量,使用这些常量来表示一组枚举值的时候,有一个严重的问题就是,编译器无法检查每个值的合理性。
*
* enum定义的枚举类,其类型就是class
* 无法通过new操作符创建enum的实例
*
* enum定义枚举优势:
* 1 enum常量本身带有类型信息,编译器会自动检查出类型错误
* 2 其次,不可能引用到非枚举的值,因为无法通过编译
* 3 不同类型的枚举不能互相比较或者赋值,因为类型不符。
*
*/
// 整型常量判断
int day = Weekday.SUN;
switch (day) {
case Weekday.SUN: System.out.println("今天是星期日");break;
case Weekday.MON: System.out.println("今天是星期一");break;
case Weekday.TUE: System.out.println("今天是星期二");break;
case Weekday.WED: System.out.println("今天是星期三");break;
case Weekday.THU: System.out.println("今天是星期四");break;
case Weekday.FRI: System.out.println("今天是星期五");break;
case Weekday.SAT: System.out.println("今天是星期六");break;
default:
break;
}
// 字符型常量判断
String fruit = Fruit.apple;
if (Fruit.apple.equals(fruit)) {
System.out.println("今天买了苹果");
} else if (Fruit.orange.equals(fruit)) {
System.out.println("今天买了橙子");
} else if (Fruit.banana.equals(fruit)) {
System.out.println("今天买了香蕉");
}
// 枚举判断
WeekName weekDay = WeekName.SAT;
if (weekDay == WeekName.SAT) {
System.out.println("周六去踢足球");
} else {
System.out.println("不是周六不去足球");
}
System.out.println("返回常量名:" + WeekName.SUN.name());
Launch launch = Launch.Monlaunch;
System.out.println(launch.launchDay + "带了 " + launch.toString());
}
}
// 整型常量
class Weekday {
public static final int SUN = 0;
public static final int MON = 1;
public static final int TUE = 2;
public static final int WED = 3;
public static final int THU = 4;
public static final int FRI = 5;
public static final int SAT = 6;
}
// 字符型常量
class Fruit {
public static final String apple = "apple";
public static final String banana = "banana";
public static final String orange = "orange";
}
// 枚举
enum WeekName {
SUN, MON, TUE, WED, THU, FRI, SAT;
}
// 枚举
enum Launch {
Monlaunch("星期一", 2,"鸡翅+生菜"), Tuelaunch("星期二", 3,"瘦肉+炸豆腐+西芹"), Wedlaunch("星期三", 2,"鸡腿+茼蒿"), Thulaunch("星期四", 2,"腐竹+瘦肉"),Frilaunch("星期五", 1,"鱼");
// enum的字段强烈建议声明为final
public final String launchDay;
public final int lauchCount;
private final String launchName;
// enum的构造方法要声明为private
private Launch(String day, int count, String name) {
this.launchDay = day;
this.lauchCount = count;
this.launchName = name;
}
@Override
public String toString() {
return this.lauchCount + "个菜:" + this.launchName;
}
}
Java 学习之常量定义与枚举值定义
猜你喜欢
转载自blog.csdn.net/potato512/article/details/103230250
今日推荐
周排行