枚举(enum)剖析(一)

本文详细解释了枚举方法的概念及其在Java中的应用。通过一个简单的实例,展示了如何定义和使用枚举类型,并对传入的参数进行合法性验证。进一步介绍了枚举类型在Java中的实现方式及与枚举类的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     所谓枚举就是实现考虑到某一变量可取的值,尽量用自然语言中含义清楚的单词来表示它的每一个值,这种方法称为枚举方法,用这种方法定义的类型称枚举类型。        

      首先我们先举一个简单的实例说明:

           public class Student {

	
	private String name; //名称
	private String grade;//A优,B良,C中,D差
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getGrade() {
		return grade;
	}
	public void setGrade(String grade) {
		if(grade.matches("[ABCD]")){
			System.out.println("---------");
			this.grade = grade;
		}else{
		  throw new IllegalArgumentException("你传递的参数不合法...");
		}
		
	}
	

	
	
	
	
}

  • 接下来我我们进行测试
import org.junit.Test;

public class StudentTest {

	@Test
	public void test(){
		Student st = new Student();
		st.setGrade("AB");
	}
}

  • 我们可以看到赋值为"AB"
  • 那么他就会抛出你传递的参数不合法,因为他的参数为ABCD其中的任何一个,我们是和枚举中的定义的每一个值去进行比较
  • 其实enum中定义的值就相当于jdk1.4中定义的对象,其实他们就是对象:如图
class Grade{
	private Grade(){
		
	}
	public static Grade A = new Grade();
	public static Grade B = new Grade();
	public static Grade C = new Grade();
	public static Grade D = new Grade();
	
}
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值