package utils;
/**
* @author zhangjiawei
*
*/
public class EnumExample {
/* enum */
public enum Week {
/* Week 的成员 */
Sunday(7), Monday(1);
/* 下面是对不同的成员,分配不同的值(实现类似于.net中的Sunday=7,Monday=1这种对枚举成员赋值的功能),而不是默认的系统分配的方式(0,1,2,3,4....) */
private int value;
/* 构造方法 */
Week(int value) {
this.value = value;
}
/* 获取值的方法 */
public int getValue() {
return value;
}
/*
* 总结说明一下: NET 和 Java 枚举的实现原理不太一样
* 在Java中的enum与.NET中的enum是不一样的。既然用了enum,为什么还要要用数字来判断呢?完全是多此一举!!!(完全没有必要像上面这写)
* 总结一句话:不要为了用enum而用enum,既然你要判断是int,那就用int,没必要非用enum不可!!!
*/
}
/**
* 测试 EnumExample
*
* @param args
*/
public static void main(String[] args) {
Week day = Week.Sunday;
switch (day) {
case Sunday:
System.out.println(day);
break;
case Monday:
System.out.println(day);
break;
default:
System.out.println("none match");
break;
}
//查看枚举元素的值
System.out.println(Week.Sunday); //输出Sunday 而不是7 。。很郁闷搞不懂
System.out.println(Week.valueOf("Sunday"));//该方法反回的是一个Week,即枚举类型,所以输出的与上面一样,还是Sunday。
System.out.println(Week.Sunday.value);//输出7,正确,也可以用Week.Sunday.getValue();
//原来原因是这样的:如果类型是枚举类型(Week)那么输出的肯定是枚举的名字,而不是值,要输出值的话,必须用 枚举成员.value或者是 枚举成员.getValue() 来获取。例如
//Week.Sunday.value 或者 Week.Sunday.getValue()来获取 !!!
}
}
分享到:
相关推荐
`Enum`,作为Java语言中的一个关键字,自JDK 5.0引入以来,便赋予了开发者一种全新的数据类型——枚举类型,其设计初衷在于为编程提供更安全、更简洁的方式来处理固定集合的常量。不同于传统意义上的类,`Enum`拥有...
在第三版中,Eckel对Java SE 5.0(也称为Java 5)的新特性进行了详细介绍,比如枚举类型(enum)、自动装箱/拆箱、可变参数(varargs)、泛型(generics)以及枚举接口等。这些特性显著提高了代码的可读性和安全性,...
9. **枚举(Enum)**:Java 5引入的新特性,允许创建自己的枚举类型,常用于定义固定数量的常量。 10. **注解(Annotation)**:Java 5引入,提供了一种元数据,可以用于代码的编译、部署和运行时的处理,如Junit...
这些状态可能通过枚举类型(enum)来管理。 三、人工智能 1. AI算法:描述中提到作者对五子棋技术有限,所以AI算法可能相对简单,例如采用深度优先搜索(DFS)、最小最大搜索(Minimax)或Alpha-Beta剪枝等基础策略...
此外,书中的习题涵盖了输入/输出(I/O)系统,网络编程,反射(Reflection)以及枚举(Enum)等高级主题,这些都是Java程序员需要掌握的重要技能。 最后,书中还有关于泛型容器、比较器(Comparator)和函数式编程...
18. **枚举(Enum)**:学习Java中的枚举类型,它是常量的集合,可以增强代码的安全性和可读性。 19. **泛型**:泛型提供了一种在编译时检查类型安全的方式,同时提高了代码的重用性。 20. **反射(Reflection)**...
- 枚举(Enum)是一种特殊的类,提供了枚举类型的声明和使用。 9. **泛型(Generics)**: - 泛型允许在类、接口和方法中定义类型参数,提高了代码的类型安全性和可重用性。 10. **注解(Annotation)**: - ...
11. **枚举(Enum)**:Java的枚举类型,它比传统的常量更强大,支持方法和继承。枚举在表示固定数量的值或状态时非常方便。 以上内容仅是《Thinking in Java》第三版前11章的概览,实际书籍中会深入探讨每个主题,...
15. **枚举(Enum)**:掌握枚举类型,理解其特性,如常量的定义、枚举类的方法等。 通过这些练习题,你可以检验自己对Java基础知识的掌握程度,逐步提升编程技能。在解决每道题目时,不仅要关注代码的正确性,还要...
手册中关于编程规范的规定,体现了阿里巴巴对Java开发的严谨态度。这些规范和标准不仅有助于提升代码质量,还能促进团队协作效率,降低新成员的学习成本。此外,该手册的公开,也说明了阿里巴巴愿意分享其在大规模...
在Java中,枚举类型可以通过`enum`关键字来定义。 - 枚举类型的实例是有限的并且在编译期间就已经确定,这有助于减少运行时错误,提高代码可读性和可维护性。 - 枚举提供了很多有用的默认行为,比如toString()、...
15. **枚举(Enum)**:理解枚举类型,它是Java中一种特殊的类,常用于定义一组固定的值。 在学习这些知识点时,结合实际的源代码示例进行练习是至关重要的。通过不断地实践和调试,可以加深对Java语言的理解,并...
同时,枚举类型(enum)在Java中扮演着重要角色,它既是一种数据类型,又可以拥有方法和常量,为代码提供了一种安全的常量表示方式。 再者,Java的泛型是提高代码复用性和类型安全性的工具。泛型允许我们在定义类、...
在"标签"中,“Thinking in”暗示了这本书的独特教学方式,即通过思考和理解的方式来学习Java,这与传统的语法罗列式教程不同,更强调理解和应用。 文件名中: 1. "Thinking in Java 3th Edition习题及答案.chm" - ...
10. **枚举(Enum)**:Java中的枚举类型,提供了更安全的常量表示方式,可以包含方法和实现接口。 11. **接口(Interface)**:作为多继承的替代方案,定义了一组抽象方法,强制实现者遵守特定的契约。 12. **...
11. **枚举(Enum)**:Java枚举类型为常量集合提供了安全且类型安全的表示。书中会展示如何定义和使用枚举,以及枚举的关联方法。 12. **Lambda表达式**:Java 8引入的Lambda表达式简化了函数式编程,使得编写简洁...
5. **枚举(Enum)**:用于定义固定的常量集合,有时用作数据类型。 6. **注释(Comment)**:帮助理解代码的功能和用途。良好的注释是代码可读性的关键。 7. **测试类(Test Classes)**:通常使用JUnit或其他...
为了方便操作,可以使用枚举类型(enum)来表示格子状态。棋盘类应包含方法来检查是否已有玩家连成一线,以及放置标记的方法,同时确保每次放置都是合法的(即格子为空且游戏未结束)。 2. **玩家类(Player)**: ...