Java 如何返回枚举中的类?

Java 如何返回枚举中的类?,java,enums,Java,Enums,我有一个名为scenes的enum和一些类,比如game和menu,我使用id获取enum的类,我该怎么做?这就是我所需要的。对不起,我的英语不好 编辑: 这是我的密码 公共枚举场景{ 菜单(1,“菜单”), 游戏(2,“游戏”); 公共静态int场景=1; 私有int-id; 私有字符串名称; 私有场景(int-id,字符串名称){ this.id=id; this.name=名称; } 公共int getId(){ 返回id; } 公共字符串getName(){ 返回名称; } } 你想这样

我有一个名为scenes的enum和一些类,比如game和menu,我使用id获取enum的类,我该怎么做?这就是我所需要的。对不起,我的英语不好

编辑:

这是我的密码

公共枚举场景{
菜单(1,“菜单”),
游戏(2,“游戏”);
公共静态int场景=1;
私有int-id;
私有字符串名称;
私有场景(int-id,字符串名称){
this.id=id;
this.name=名称;
}
公共int getId(){
返回id;
}
公共字符串getName(){
返回名称;
}
}

你想这样做吗?根据场景对象的id获取场景对象

Scenes场景=Scenes.valueOf(1)
那你就是这么做的。查看方法的

公共枚举场景{
菜单(1,“菜单”),
游戏(2,“游戏”);
公共静态int场景=1;
私有int-id;
私有字符串名称;
私有场景(int-id,字符串名称){
this.id=id;
this.name=名称;
}
公共int getId(){
返回id;
}
公共字符串getName(){
返回名称;
}
公共静态场景值(int-id){
对于(场景值:Scenes.values()){
if(value.getId()==id){
返回值;
}
}
}
}

但请注意,重复调用values()对性能不利。因此,您可能应该在静态初始化块中构建映射,并将映射保存到静态最终字段。

请显示您的代码,而不是描述它。这将使我们更容易帮助您。感谢添加您的代码。您能澄清一下“我使用id获取枚举类”是什么意思吗?您是否要求在输入为1时返回
菜单
,在输入为2时返回
游戏
?好的,我们看到枚举的代码,您想做什么?您可以参考代码中的菜单和游戏。您可能不需要显式id,如果确实需要一个数字而不是枚举,请检查枚举上的ordinal()方法。我想从id获取menu.java,如Ilya Sazonov,答案使用valueOf,但它应该返回我的class
Scenes.valueOf(Scenes.Scene).render(camera,deltaTime)
类似的内容