Java枚举函数返回值

JHo*_*lta 1 java enums return

我正在尝试制作一个简单的脚本,它将返回枚举的含义,让我们举一个例子://EG.class(应该返回动物ID).

import Object.Animal;

public class EG {
    public void main() {
        Animal AnimalID = Object.Animal.CAT;

        System.out.print(AnimalID);
        //Should return value of CAT: 2000 (long)
        //But I can't figure out what's wrong.
    }
}
Run Code Online (Sandbox Code Playgroud)

//Object.class

public class Object {
    public enum Animal {
        CAT(2000L), DOG(2001L), MONKEY(2002L), TIGER(2003L);

        private long animal;

        private Animal(long a) {
          animal = a;
        }

        public long getAnimal() {
          return animal;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Ale*_*kov 10

你需要打电话 System.out.print(AnimalID.getAnimal());


Ami*_*ani 6

为什么不在枚举toString()上创建一个方法Animal

public enum Animal {
    CAT(2000L), DOG(2001L), MONKEY(2002L), TIGER(2003L);

    private long animal;

    private Animal(long a) {
      animal = a;
    }

    public long getAnimal() {
      return animal;
    }

    @Override
    public String toString() { 
       return this.name() + ": " +animal;
    }
}
Run Code Online (Sandbox Code Playgroud)