枚举的理解

本文旨在理解枚举在Java中的应用,通过分析如何在学生类中定义性别为枚举类型,探讨了枚举相对于int和String类型的优点,如防止非法赋值。枚举在Java中是一种特殊的类,其常量默认为全局公共静态,枚举对象自动继承自java.lang.Enum类,并可通过.ordinal()获取枚举对象的序号。
摘要由CSDN通过智能技术生成

目的

了解枚举


问题

声明一个学生类,包含学号、姓名、性别字段,其中性别字段定义成枚举类型。


分析

定义一个变量来表示性别的分类?请问该变量的类型使用什么?

使用int和String类型,且先假设使用int类型,因为分类情况是固定的,为了防止调用者乱创建类型,可
以把三种情况使用常量来表示。常量使用final修饰,并且使用大写字母组成,如果是多个单词组成,使用下划线分割。此时调用setSex方法传递的值应该是Sex类中三个常量之一。但是此时依然存在一个问题——依然可以乱传入参数比如100,此时就不合理了。

同理如果使用String类型,还是可以乱设置数据。那么说明使用int或String是类型不安全的。那么如果
使用对象来表示三种情况呢?

public class Sex{
    
	public static final Sex MEN = new Sex(); 
	public static final Sex WOMEN = new Sex(); 
	public static final Sex NEUTRAL = new Sex(); 
	private Sex() 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值