Java基础——枚举类enum

  • 枚举类是一种特殊的数据类型,可以理解为一个数组,数组成员为特定的对象
  • 枚举类不能在外面创建对象,在类里面就包含了一组特定的对象,每个对象有着相同数量的属性
  • 枚举类的对象放在最前面,且对象们的顺序就是对应的索引
  • 枚举类中的对象是静态的,不能修改的,是被public和final修饰的对象
  • 枚举类的构造方法默认用private修饰,所以无法在外面创建对象
  • 枚举类的方法的参数个数应与对象的属性个数一致
  • 枚举类可以作为内部类进行声明
  • enum 定义的枚举类默认继承了 java.lang.Enum 类,并实现了 java.lang.Serializable 和 java.lang.Comparable 两个接口,因此继承了java.lang.Enum 类中的values(), ordinal() 和 valueOf() 方法
  • 可以遍历枚举类中的对象
  • 可以按照索引取枚举类中的某一个值
  • values() 返回枚举类中所有的值。
  • ordinal()方法可以找到每个枚举常量的索引,就像数组索引一样。
  • valueOf()方法返回指定字符串值的枚举常量。
int c = City.BEIJING.code // 访问枚举类中对象的属性
for (City i : City.values()) {
    
    
      System.out.println(i); // 用values方法输出枚举类中的对象
      System.out.println(i.ordinal()); // 用ordinal方法输出枚举对象的索引
}
System.out.println(City.valueOf("BEIJING")); // 用valueOf()方法输出指定字符串值的枚举对象,如果不存在会报错

enum City{
    
    
	BEIJING(name:"北京", code:1001),
	SHANGHAI(name:"上海", code:1002);
	public String name;
	public int code;
	private City(String name, int code){
    
    
		this.name = name;
		this.code = code;
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_46838605/article/details/129869836