首页 > 代码库 > Enum
Enum
1.垃圾数据冗余,我们要求输错了就要给提示,而不是默认!
class Person{ private String name; private String sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { if ("man".equalsIgnoreCase(sex) || "woman".equalsIgnoreCase(sex)) { this.sex = sex; }else{ this.sex = "man"; } } }public class EnumTest { public static void main(String[] args) { Person p = new Person(); p.setName("张三"); p.setSex("人妖"); System.out.println(p.getName()+"的性别是:"+p.getSex());//张三的性别是:man } }
2.优化 抛出异常,但是是运行时异常,我们想要的是在编译的时候就给我们提示,所以还是要继续优化...
public void setSex(String sex) { if ("man".equalsIgnoreCase(sex) || "woman".equalsIgnoreCase(sex)) { this.sex = sex; }else{ throw new RuntimeException("性别不能乱输呀"); } }
3.继续优化: Enum的雏形到来了
class Person{ private String name; private Gender sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public Gender getSex() { return sex; } public void setSex(Gender sex) {//接收Gender类型 this.sex = sex ; }}class Gender{//Enum的爷爷 String gender ; private Gender(String gender){this.gender = gender;}//构造器私有化,防止别人new 对象,随意改变数据! public static final Gender MAN = new Gender("man"); public static final Gender WOMAN = new Gender("wowan");}public class EnumTest { public static void main(String[] args) { Person p = new Person(); p.setName("张三"); p.setSex(Gender.WOMAN); System.out.println(p.getName()+"的性别是:"+p.getSex().gender);//张三的性别是:wowan } }
4.Enum到来了!春天来了...
enum Gender{ MAN("man"),WOWAN("woman"); //枚举值必须放置第一行 String gender; private Gender(String gender){this.gender = gender;}}public class EnumTest { public static void main(String[] args) { Person p = new Person(); p.setName("张三"); p.setSex(Gender.MAN); System.out.println(p.getName()+"的性别是:"+p.getSex().gender);//张三的性别是:man } }
5.enum注意事项:
Enum
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。