枚举enum

枚举指由一组固定的常量组成的类型(java.lang.Enum)

java se 5.0引入

类型安全

易于输入

代码清晰

在枚举中,如果除了定义枚举常量,还定义了其他成员,则枚举常量列表必须以分号(;)结尾

//性别枚举

public enum Genders{

Male,Female;

}


public class Student {
private Genders sex;


public Genders getSex() {
return sex;
}


public void setSex(Genders sex) {
this.sex = sex;
}
}

//主函数里写

Student student = new Student();
student.setSex(Genders.Male);
System.out.println(student.getSex());


public class WeekDemo {
	public enum Week {
		MON, TUE, WED, THR, FRI, SAT, SUN
	}

	public void doWhat(Week day) {
		switch (day) {
		case MON:
		case TUE:
		case WED:
		case THR:
		case FRI:
			System.out.println("工作!");
			break;
		case SAT:
			System.out.println("休息!");
			break;
		}
	}
	public static void main(String[] args) {
		WeekDemo wd = new WeekDemo();
		wd.doWhat(Week.MON);
	}
}



public enum Test {

	 雪铁龙("10万","东风"),
	 别克("15万","上海通用"),
	 雪弗兰("11万","上海通用"),
	 CRV("13万","东本"),
	 QQ("2万","吉利");
	 
	 private String price;
	 private String pinpai;

	 private Test() {
	}


	private Test(String price, String pinpai) {
		this.price = price;
		this.pinpai = pinpai;
	}


	public String getPrice() {
		return price;
	}


	public void setPrice(String price) {
		this.price = price;
	}


	public String getPinpai() {
		return pinpai;
	}


	public void setPinpai(String pinpai) {
		this.pinpai = pinpai;
	}

	 
	 //可以作为一种一对多 或一对一的映射转换
	 public static void main(String[] args) {
		for(Test t:Test.values()){
			System.out.println(t.pinpai+":"+t.price);
		}
		
	}
}


package com.betasoft.enums;

public enum Friut {
	banana("香蕉"),apple("苹果"),tomato("番茄"),watermelon("西瓜"),strawberry("草莓");
	
	private String value;

	private Friut(String value) {
		this.value = value;
	}

	public String getValue() {
		return value;
	}
	
}

package com.betasoft.test;

import java.util.ArrayList;
import java.util.EnumMap;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

import com.betasoft.entity.Iphone;
import com.betasoft.enums.Friut;

public class TestFive {
	public static void main(String[] args) {
	 for(Friut friut:Friut.values()){
		 System.out.println(friut.toString());
	 }
	 Friut friut = Friut.apple;
	//getDeclaringClass() 
	 System.out.println("getDeclaringClass(): " + friut.getDeclaringClass().getName()); 
	 //name() 和 toString() 
	 System.out.println("name(): " + friut.name()); 
	 System.out.println("toString(): " + friut.toString()); 
	 //ordinal(), 返回值是从 0 开始
	 System.out.println("ordinal(): " + friut.ordinal()); 
	 System.out.println(friut.getValue());
	 EnumSet<Friut> friutSet = EnumSet.allOf(Friut.class);
	 for (Friut fri : friutSet) {
		 System.out.println(fri.getValue());
	 }
	// EnumMap的使用 
	 EnumMap<Friut, String> friutMap = new EnumMap(Friut.class); 
	 friutMap.put(Friut.banana, "香蕉");
	 friutMap.put(Friut.apple, "苹果"); 
	 // ... ... 
	 for (Iterator<Entry<Friut, String>> iter = friutMap.entrySet().iterator();iter.hasNext();) { 
		 Entry<Friut, String> entry = iter.next();
		 System.out.println(entry.getKey().name() + ":" + entry.getValue()); }
	
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值