【原】Java5 新特性1——枚举

Java 5 出了一个新特性, 就是枚举
通过枚举可以很好的控制集合中对象, 不容易出现多值的逻辑错误,枚举的本质是类
枚举可以有属性, 可以有私有的构造器(可以有参数)
使用示例1:

Grade.java

public Enum Grade
{
               A, B, C, D;
}
Test.java
public class Test
{
          public static void main(String[] args)
          {
                       Grade grade = getGrade(60);
                       switch(grade)
                       {
                                        case Grade.A:
                                                       System.out.println("Grade is A");
                                                       brake;
                                        case Grade.B:
                                                       System.out.println("Grade is B");
                                                       brake;
                                        case Grade.C:
                                                       System.out.println("Grade is "C);
                                                       brake;
                                        case Grade.D:
                                                       System.out.println("Grade is D");
                                                       brake;
                         }
             }
             private Grade getGrade(int mark)
             {
                                 if (mark > 90)
                                  {
                                                        return Grade.A;
                                  }
                                 if (mark > 70)
                                  {
                                                        return Grade.B;
                                  }
                                 if (mark > 60)
                                  {
                                                        return Grade.C;
                                  }
                                  return Grade.D;
                     }
}
枚举与类不同的地方在于枚举是由虚拟机自动实例化的, 枚举有多个示例, 但是一个元素只有一个示例
使用示例2public class Test
{
                public static void main(String[] args)
               {
                                     Grade good = Grade.B;
                                     Grade fail = Grade.D;
                                     System.out.println(good == fail);
                                    Grade student_1 = Grade.A;
                                     Grade student_2 = Grade.A;
                                     System.out.println(student_1 == student_2);
              }
}

输出为:
false
true

此条目发表在 Java 分类目录。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>