Java学习笔记21 枚举类型enum、Enu…
2017-05-05 15:05
489 查看
1.枚举(Enum):我们所定义的每个枚举类型都继承自java.lang.Enum类,枚举中的每个成员默认都是public
static final 的
2.每个枚举的成员其实就是所定义的枚举类型的一个实例。换句话说,当定义了一个枚举类型后,在编译时刻就能确定该枚举有几个实例,分别是什么。在运行期间我们无法再使用该枚举创建新的实例了,这些实例在编译期间就已经完全确定下来了
1)枚举定义方式
enum Color
{
Blue,Red,White;//无其他内容时可省略“;”
}
使用方式:Color myColor = Color.Blue;
2)枚举类型提供了两个有用的静态方法values()和valueof(),例如:
for(Color c : Color.values())//values()取出枚举中的成员按顺序存入数组。
{
System.out.println(c);//使用增强型for循环对Color的成员进行遍历
}//结果依次打印出Color中的成员
3)一个简单的应用实例,枚举中,有带参的构造方法时,在其成员后也需带参。
public enum
Color
{
Blue("红色"),Red("蓝色"),White("白色");
private
String value;
Color(String value)
{
this.value = value;
}
public String getValue()
{
return
value;
}
public static void
main(String[] args)
{
Color col = Color.Blue;
System.out.println(col.getValue());
}
}
4)将枚举的成员加入Enumset集合中之一法:
List<Color> list = new
ArrayList<Color>();
list.add(Color.Blue); list.add(Color.Red); list.add(Color.White);
EnumSet<Color> enumSet
= EnumSet.copyOf(list));
5)将枚举的成员加入EnumSet集合中之二法:
EnumSet<Color> enumSet =
EnumSet.of(Color.Blue,Color,White);
6)将枚举的成员加入集合中之一三法:
EnumSet<Color> enumSet =
EnumSet.noneOf(Color.class);
enumSet.add(Color.Blue);
7)将枚举成员作为key,和与之对应的value存入EnumMap应用举例
import
java.util.EnumMap;
import java.util.Map;
public class EnumTest
{
public static void main(String[]
args)
{
Map<Color,String>
map = new
EnumMap<Color,String>(Color.class);
map.put(Color.Blue,"蓝色");
map.put(Color.White,"白色");
map.put(Color.Red,"红色");
for(Color c :
Color.values())
{
System.out.print(map.get(c) + "
");
}//打印结果:蓝色 红色
白色,打印结果与枚举遍历顺序(枚举中成员顺序)相同
}
}
enum
Color
{
Blue,Red,White;
}
static final 的
2.每个枚举的成员其实就是所定义的枚举类型的一个实例。换句话说,当定义了一个枚举类型后,在编译时刻就能确定该枚举有几个实例,分别是什么。在运行期间我们无法再使用该枚举创建新的实例了,这些实例在编译期间就已经完全确定下来了
1)枚举定义方式
enum Color
{
Blue,Red,White;//无其他内容时可省略“;”
}
使用方式:Color myColor = Color.Blue;
2)枚举类型提供了两个有用的静态方法values()和valueof(),例如:
for(Color c : Color.values())//values()取出枚举中的成员按顺序存入数组。
{
System.out.println(c);//使用增强型for循环对Color的成员进行遍历
}//结果依次打印出Color中的成员
3)一个简单的应用实例,枚举中,有带参的构造方法时,在其成员后也需带参。
public enum
Color
{
Blue("红色"),Red("蓝色"),White("白色");
private
String value;
Color(String value)
{
this.value = value;
}
public String getValue()
{
return
value;
}
public static void
main(String[] args)
{
Color col = Color.Blue;
System.out.println(col.getValue());
}
}
4)将枚举的成员加入Enumset集合中之一法:
List<Color> list = new
ArrayList<Color>();
list.add(Color.Blue); list.add(Color.Red); list.add(Color.White);
EnumSet<Color> enumSet
= EnumSet.copyOf(list));
5)将枚举的成员加入EnumSet集合中之二法:
EnumSet<Color> enumSet =
EnumSet.of(Color.Blue,Color,White);
6)将枚举的成员加入集合中之一三法:
EnumSet<Color> enumSet =
EnumSet.noneOf(Color.class);
enumSet.add(Color.Blue);
7)将枚举成员作为key,和与之对应的value存入EnumMap应用举例
import
java.util.EnumMap;
import java.util.Map;
public class EnumTest
{
public static void main(String[]
args)
{
Map<Color,String>
map = new
EnumMap<Color,String>(Color.class);
map.put(Color.Blue,"蓝色");
map.put(Color.White,"白色");
map.put(Color.Red,"红色");
for(Color c :
Color.values())
{
System.out.print(map.get(c) + "
");
}//打印结果:蓝色 红色
白色,打印结果与枚举遍历顺序(枚举中成员顺序)相同
}
}
enum
Color
{
Blue,Red,White;
}
相关文章推荐
- Java学习笔记3 原生数据类型 Primi…
- 14. JAVA 枚举(Enum、类集EnumMap&EnumSet 、实现接口、定义抽象方法) ----- 学习笔记
- <Head First Java>学习笔记--第三章:primitive主数据类型和引用
- 《thinking&nbsp;in&nbsp;java》学习笔记3
- Java学习笔记4 java中的运算符
- Java学习笔记18 ArrayList 和Linke…
- java基础教程学习笔记总结&nbsp;11-18节
- Java学习笔记7 面向对象设计的三大…
- Java学习笔记14 static和final关键…
- Java学习笔记10 面向对象之重载
- Java学习笔记12 java中的多态、抽…
- 【1】.thinking in java 学习笔记
- java学习笔记之 --------枚举(enum)
- java学习笔记之枚举类enum(转载)
- Java学习笔记15 单例设计模式(Sin…
- Core Java 学习笔记——2.基本数据类型&类型转换
- 《thinking&nbsp;in&nbsp;java》学习笔记10
- 《thinking&nbsp;in&nbsp;java》学习笔记1
- java基础教程学习笔记总结&nbsp;7-10节
- Java学习笔记13 java中的接口