java android 简单枚举示例

枚举注意事项

  1. 如果要为每个枚举值指定属性,则在枚举中必须声明一个参数为属性对应类型的构造方法(不能是public)

  2. enum内置方法
    int compareTo(E o)
    比较此枚举与指定对象的顺序。

    Class getDeclaringClass()
    返回与此枚举常量的枚举类型相对应的 Class 对象。

    String name()
    返回此枚举常量的名称,在其枚举声明中对其进行声明。

    int ordinal()
    返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。

    String toString()
    返回枚举常量的名称,它包含在声明中。

    static T valueOf(Class enumType, String name)
    返回带指定名称的指定枚举类型的枚举常量。

    static T[] values()
    返回枚举的所有值

  3. 可以把 enum 看成是一个普通的 class,它们都可以定义一些属性和方法,不同之处是:enum 不能使用 extends 关键字继承其他类

简单举例代码

package demo;

public class Test {

    // 1.定义枚举类型
	
	private enum Animal{
		
		dog("Huskie","8"),cat("bluecat","6");
		private String age;
		private String name;
		
		Animal(String name,String age){
			this.name=name;
			this.age=age;
			
		}
		
		public String getName(){
			return name;
		}
		
		public String getAge(){
			return age;
		}
		
		public static Animal getValue(String name){
			
			for(Animal animal:Animal.values()){
	    		if(animal.name==name){
	    			return animal;
	    		}
	    	}
			throw new IllegalArgumentException("No element matches " + name);
		}
	}
  
    public static void main(String[] args) {
    	for(Animal animal:Animal.values()){
    		System.out.println(animal.getName());
    		System.out.println(animal.name());
    	}
    	Animal.getValue("hashiqi");//抛出错误
    }

}

你可能感兴趣的:(java,android)