什么是java罗列?
java 罗列的定义与用法
一、罗列的定义:
罗列是一种特别的数据范例,之所以特别是由于它既是一品种(class)范例却又比范例多了些特别的束缚,然则这些束缚的存在也作育了罗列范例的简约,安全性以及便利性。建立罗列范例要运用enum关键字,隐含了所建立的范例都是java.lang.Enum类的子类(java.lang.Enum是一个抽象类)。罗列范例相符通用形式Class Enum<E extends Enum<E>>,而E示意罗列范例的称号。罗列范例的每一个值都映射到protected Enum(String name,int ordinal)组织函数中,在这里,每一个值的称号都转换成一个字符串,而且序数设置示意了此设置被建立的递次。
二、罗列的运用:
建立一个罗列类:EnumTest
public enum EnumTest { //星期一,星期二,星期三,星期四,星期五,星期六 MON(1), TUE(2),WED(3),THU(4),FRI(5),SAT(6){ public boolean isRest(){ return true; } }, //星期日 SUN(0){ public boolean isRest(){ return true; } }; private int value; private EnumTest(int value){ this.value=value; } public int getValue(){ return value; } public boolean isRest(){ return false; } }
运用EnumTest罗列类:
public class EnumMain { public static void main(String[] args) { for (EnumTest enumTest : EnumTest.values()) { System.out.println(enumTest + ":" + enumTest.getValue()); } System.out.println("---------------我是分割线------------"); EnumTest test = EnumTest.SAT; switch (test) { case MON: System.out.println("今天是星期一"); break; case TUE: System.out.println("今天是星期二"); break; case WED: System.out.println("今天是星期三"); break; case THU: System.out.println("今天是星期四"); break; case FRI: System.out.println("今天是星期五"); break; case SAT: System.out.println("今天是星期六"); break; case SUN: System.out.println("今天是星期日"); break; default: System.out.println(test); break; } } }
效果:
MON:1 TUE:2 WED:3 THU:4 FRI:5 SAT:6 SUN:0
---------------我是分割线------------
今天是星期六
三、罗列优瑕玷:
在罗列涌现之前,如果想要示意一组特定的离散值,每每运用一些常量。比方:
public class Entity { public static final int VIDEO = 1;//视频 public static final int AUDIO = 2;//音频 public static final int TEXT = 3;//笔墨 public static final int IMAGE = 4;//图片 private int id; private int type; public int getId() { return id; } public void setId(int id) { this.id = id; } public int getType() { return type; } public void setType(int type) { this.type = type; }
四、运用这个常量的要领的瑕玷:
1、代码可读性差,易用性差,由于setType()要领的参数是int型的,
2、范例不安全。在用户去挪用的时刻,必需保证范例完全一致,同时取值局限也要准确。像setType(-1);是正当的,然则不是合理的,以后会为顺序带来各种题目。
3、耦合性高,扩展性差。如果,由于某些缘由,须要修正Entity类中常量的值,那末须要改的时刻,修正漏了,那可不是开顽笑的。
罗列就是为了如许的题目而降生的。它们给出了将一个恣意项同另一项比较的才能。
以上就是什么是java罗列的细致内容,更多请关注ki4网别的相干文章!