是否可以访问枚举的值?

sir*_*eee 1 java oop enums

我有这个代码

    enum check
{
   STUDENT ("Sireee"), ID (12354), YEAR ("1st Year"), DEP("College of Computer Studies");
   private String year;
   private String student;
   private String dep;
   private int id;
 // some Constructor here 
Run Code Online (Sandbox Code Playgroud)

我的问题是我不知道如何在主类中获取 STUDENT、ID、YEAR 和 DEP 的值。如何能够获得这个值? 在此处输入图片说明

结果是 在此处输入图片说明

我的**预期输出**是

西丽

12345

第一年

计算机学院

Sun*_*uri 5

你用enum错了方法。在您的情况下,最好使用class

Student.java

public class Student {

    private int id;
    private String name;
    private String year; // int is prefered. since you are using string I used it.
    private Department dep; // demonstrating use of enum

    // getters and setters
}
Run Code Online (Sandbox Code Playgroud)

现在,让我们看看如何使用 enum

Department.java

public enum Department {

    CSE("Computer Science Engineering"),
    MEC("Mechanical Engineering")

    private String name;

    Department(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }
}
Run Code Online (Sandbox Code Playgroud)

如果您想现在显示值,让我们创建两个学生并显示值

public class Test {

    public static void main(String[] args) {
        Student s1 = new Student();
        s1.setName("John Wick");
        s1.setId(1);
        s1.setYear("1st Year");
        s1.setDepartment(Department.CSE);

        Student s2 = new Student();
        s2.setName("Will Smith");
        s2.setId(2);
        s2.setYear("2nd Year");
        s2.setDepartment(Department.MEC);

        System.out.println(s1.getName() + " department is " + s1.getDepartment().getName());
        System.out.println(s2.getName() + " department is " + s2.getDepartment().getName());
    }
}
Run Code Online (Sandbox Code Playgroud)

Output

John Wick department is Computer Science Engineering
Will Smith department is Mechanical Engineering
Run Code Online (Sandbox Code Playgroud)