在像C这样强调数据结构的语言里,枚举是必不可少的一种数据类型。然而在java的早期版本中,是没有一种叫做enum的独立数据结构的。所以在以前的java版本中,我们经常使用interface来simulate一个enum。
public interface Color {
static int RED = 1;
static int GREEN = 2;
static int BLUE = 3;
}
虽然这种simulation比较麻烦,但在以前也还应付的过去。可是随着java语言的发展,越来越多的呼声要求把enum这种数据结构独立出来,加入到java中。所以从java 1.5以后,就有了enum,这也是这篇blog要学习的topic。
学习的最好方式就是例子,先来一个:
public class EnumDemo {
private enum Color {red, blue, green}//there is not a ";"
public static void main(String[] args) {
for(Color s : Color.values()) {
//enum的values()返回一个数组,这里就是Seasons[]
System.out.println(s);
}
}
}
console results
red
blue
green
注意事项已经在code中注释出,还要说明一点的是,这个java文件编译完成后不只有一个EnumDemo.class,还会有一个EnumDemo$Seasons.class,奇怪吧!
public class EnumDemo {
private enum Color {red, blue, green}//there is not a ";"
public static void main(String[] args) {
Color s = Color.blue;
switch (s) {
case red://notice: Seasons.red will lead to compile error
System.out.println("red case");
break;
case blue:
System.out.println("blue case");
break;
case green:
System.out.println("green case");
break;
default:
break;
}
}
}
这个例子要说明的就是case的情况。
就这么多吗,当然不是,我们的enum结构还可以定义自己的方法和属性。
public class EnumDemo {
private enum Color {
red, blue, green;//there is a ";"
//notic: enum's method should be "static"
public static Color getColor(String s){
if(s.equals("red flag")){
return red;
} else if(s.equals("blue flag")){
return blue;
} else {
return green;
}
}
}//there is not ";"
public static void main(String[] args) {
EnumDemo demo = new EnumDemo();
System.out.println(demo.getFlagColor("red flag"));
}
public Color getFlagColor(String string){
return Color.getColor(string);
}
}
分享到:
相关推荐
"Java Enum 枚举学习资料" Java Enum 枚举学习资料是 Java 编程语言中的一种特殊类型,它主要用来实现一组固定的常量。 Enum 枚举类型是 Java 5 中引入的一种新特性,旨在解决传统的 int 枚举常量的缺陷。 1. 枚举...
本资源包提供了一些关于`Enum`枚举的深入学习材料,包括实例、常见问题以及相关的文档,非常适合Java开发者进行高级编程的学习和复习。 首先,枚举的基本语法是定义一个公共类,前面加上关键字`enum`。例如: ```...
在Java编程语言中,`enum`(枚举)是一种特殊的类,用于定义一组固定的常量。...在阅读《https://bijian1013.iteye.com/blog/2309669》这篇博客时,你可以深入学习更多关于Java `enum`的高级用法和技巧。
通过本文的学习,我们了解了Java中枚举类型的基本概念、特点以及如何使用。枚举类型不仅提供了更清晰的代码可读性和可维护性,还确保了类型的安全性。在实际开发中,合理利用枚举类型能够有效提升代码质量和程序的...
以下是对`javaenum学习.pdf`中提到的Java枚举相关知识点的详细说明: 1. **枚举元素定义**: - 枚举元素的列表必须写在枚举类的开头,元素之间用逗号分隔。如果元素列表后面没有其他内容,可以不加分号;如果有...
Java枚举(enum)是Java语言提供的一种特殊的数据类型,用于定义一组有限的常量,这些常量在程序中作为固定的值使用。枚举在Java中是类的子类型,因此,它们具备类的一些特性,比如可以有方法、变量以及实现接口。...
Java 枚举(enum)是 Java 语言中的一个重要特性,自 Java 5 开始引入。枚举用于定义一组相关的常量,这些常量通常代表一个有限的、预定义的值集合。枚举类是一种特殊的类,它具有以下特点: 1. **枚举类的声明**:...
3. **枚举(Enum)**:枚举类型在Java中的应用,以及枚举常量的比较和遍历。 4. **Lambda表达式**:Java 8引入的函数式编程特性,简化匿名内部类的使用。 5. **Stream API**:处理集合的新方式,支持函数式编程风格...
### Java中的Enum枚举用法详解 #### 一、引言 在Java编程语言中,枚举(Enum)是一种特殊的数据类型,它被用来表示一组固定的常量集合。相比于使用常量接口或字符串来表示固定集合,枚举提供了更加安全且易于管理的...
Java枚举(Enum)是Java语言中的一个特殊类,它在`java.lang`包下,是面向对象编程中的一种常量表示方式。本章节将深入探讨Java枚举的源码和《Thinking in Java》第十九章中关于枚举的内容。 在Java中,枚举是一种...
本学习笔记旨在帮助新手全面理解并掌握Java 5.0的关键知识点。 一、泛型(Generics) Java 5.0引入了泛型,它允许在定义类、接口和方法时指定类型参数,从而实现类型安全的集合。泛型消除了强制类型转换的需要,...
在Java编程语言中,枚举(Enum...学习并熟练使用枚举是提升Java编程能力的关键步骤。通过下载提供的"Java 实例 - Enum(枚举)构造函数及方法的使用源代码-详细教程.zip"资源,你可以进一步实践和掌握枚举的相关知识。
简单查询算法,供学习参考。 代码中描述了Enum和EnumMap类的使用。
15. **枚举(Enum)**:Java 5.0引入的枚举类型,用于定义一组固定的常量。 16. **包装类**:Java为每种基本数据类型提供了对应的包装类,如Integer、Double等,它们提供了许多有用的方法。 17. **JDBC**:Java ...
switch语句是JAVA中的一个选择结构,类型可以是int, short, byte, char, enum这五个类型,enum必须是JDK5.0。 JAVA学习笔记涵盖了JAVA的基础知识和面向对象编程思想,帮助学习者更好地理解和使用JAVA语言。
3. **枚举类型(enum)**:Java 6中枚举类型成为一种完全类型,支持方法定义,枚举常量可以作为switch语句的分支,增强了枚举的安全性和灵活性。 4. **静态导入(static import)**:允许开发者直接引用类中的静态...
在Java编程语言中,`enum`(枚举)和`switch`语句是两个非常重要的概念,它们在软件开发中有着...通过学习和实践这些源代码,你可以提升你的Java编程技能,尤其在处理多分支逻辑时,能够写出更加清晰、易维护的代码。
《java jdk 7学习笔记》是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习java时遇到的概念、操作、应用或认证考试等问题及解决方案。 《java jdk 7学习笔记》针对java se 7新功能全面改版,无论是...
Java枚举(enum)是Java语言中的一种特殊数据类型,用于定义一组有限的常量,这些常量在程序中作为固定的值使用。枚举在Java中被引入,目的是为了更好地管理和使用常量,提高代码的可读性和安全性。在本实例代码中,...
在这个"良葛格Java JDK 5.0学习笔记ch05"中,我们将深入探讨其中的关键知识点。 一、泛型 Java 5.0引入了泛型,这是一项强大的类型安全机制,允许在编译时检查类型。泛型可以应用于类、接口和方法,通过指定参数...