您的位置:首页 > 编程语言 > Java开发

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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: