Sweet.Java.S01E01 Enumeration Classes 枚举类_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Sweet.Java.S01E01 Enumeration Classes 枚举类

Sweet.Java.S01E01 Enumeration Classes 枚举类

 2013/9/4 3:14:24  futeng  程序员俱乐部  我要评论(0)
  • 摘要:1.常规使用1.1枚举值用于表示常量[Sweet]Java1.5引入枚举类型,允许用常量的形式来表示特定数据片段,编码中常常出现的字典值就可以用枚举来定义,还有数据库表字段等信息。[Sweet]枚举类型专门用来取代恶心的publicstaticfinal定义静态常量的代码。这句话的引申含义就是请不要再在接口中定义常量常量了。/***Copyright(c)2013bywww.futeng.org**@{#}@Size.javaCreateon@2013-9-3@下午10:31
  • 标签:Java 枚举 class

?

?

? ???1. 常规使用 ? ? ? ?1.1 枚举值用于表示常量
? ? ?[Sweet] Java 1.5 引入枚举类型,允许用常量的形式来表示特定数据片段,编码中常常出现的字典值就可以用枚举来定义,还有数据库表字段等信息。 ? ? ? ?[Sweet]?枚举类型专门用来取代恶心的 public static final 定义静态常量的代码。这句话的引申含义就是请不要再在接口中定义常量常量了。 ?
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;
	}
}
?
发表评论
用户名: 匿名