?
?
? ???1. 常规使用 ? ? ? ?1.1 枚举值用于表示常量class="java" name="code">/**
* Copyright (c) 2013 by www.futeng.org
*
* @{#} @Size.java Create on @2013-9-3 @下午10:31:22
*/
package org.futeng.java.demo.enums;
/**
* @author <a href="mailto:ifuteng@gmail.com">futeng</a>
*/
public enum Size {
SMALL, MEDIUM, LARGE, EXTRA_LARGE, INCREDIABLE, IMPOSSIBLE, FAKE
}
?? ? ??
? ? ??1.2 枚举的比较可直接使用“==”符号
? ? ?
? ? ?[Sweet] 枚举类型是个特殊的类(想想接口也是一种特殊的类,其实特殊的意思就是不规范),为了能更加简单直观的表示常量,实现JDK的码农们把枚举给封装成一种特殊的“基本变量”了。如int基本类型,在比较是否相等的时候,直接 if( num == 3 ) 就轻松搞定了,现在枚举也是享受这样的福利了。而一般类如String值的比较,还是需要调用equals方法(内部会去逐个比较字符串中的每个字符是否都相等,而多数的类比较是需要你自己覆写equals方法的)。
?
/**
* Copyright (c) 2013 by www.futeng.org
*
* @{#} @SizeTest.java Create on @2013-9-3 @下午11:35:20
*/
package org.futeng.java.demo.enums;
/**
* @author <a href="mailto:ifuteng@gmail.com">futeng</a>
*/
public class SizeTest {
public static void main(String[] args) {
Enum<Size> yourCup = Size.SMALL;
if(yourCup == Size.LARGE) {
System.out.println("Nice...");
} else {
System.out.println(Size.LARGE+" will be better :)");
}
}
}
?
? ? ??
2. 添加
数据域(fields)和方法(methods)
?
? ? ??[Sweet]?类的作用是竟可能的去模拟现实世界中的物体,例如程序猿定义一个People类,他是想用这个类把真实世界的“人”这个物体或者说概念在计算机中表示出来。为了能让这个People类尽可能的去接近猿媛心目中的“人”,于是可能会为这个类添加姓名、年龄等数据域用来存储关于“人”的一些固有信息,还有些邪恶的猿媛会添加“cup”这个域,但是男士又不需要,所有子类就出现了。另外还可以为People类添加些动作,这样“人”就更丰满了。
?
/**
* Copyright (c) 2013 by www.futeng.org
*
* @{#} @SizeComplex.java Create on @2013-9-3 @下午11:06:52
*/
package org.futeng.java.demo.enums;
/**
*
* @author <a href="mailto:ifuteng@gmail.com">futeng</a>
*
*/
public enum SizeComplex {
SMALL ("A"),
MEDIUM ("B"),
LARGE ("C"),
EXTRA_LARGE ("D"),
INCREDIABLE ("E"),
IMPOSSIBLE ("F"),
FAKE ("G");
private String cup;
private SizeComplex(String cup) {
this.cup = cup;
}
public String getCup() {
return cup;
}
public void setCup(String cup) {
this.cup = cup;
}
}
?