gpt4 book ai didi

java - java中的键到值/值到键

转载 作者:行者123 更新时间:2023-12-01 10:54:06 26 4
gpt4 key购买 nike

我想从值中获取键/从键中获取值,任何人都可以帮助以更好的方式做吗?或者我们可以使用 java enum 或 spring 或 apache enumutils 或 java generic 来实现以下代码吗?

注意:我曾经从前端(.jsp)获取字符串,我想将此值作为整数存储到数据库表中。

Frond end  Database tableAdmin   ---   1Manager ---   2   Employee ---  3
import java.util.HashMap;
import java.util.Map;

public class MyRole {

static HashMap<Integer,String> result= new HashMap<Integer,String>();
static{
result.put(1,"Admin");
result.put(2,"Manager");
}

public static int getId(String role){
Integer key=-1;
for(Map.Entry entry: result.entrySet()){
if(role.equals(entry.getValue())){
key = (Integer) entry.getKey();
break;
}
}

return key;

}
public static String getRole(int id){
return result.get(id);
}

public static void main(String args[]){

String result=MyRole.getRole(1);
System.out.println("role name"+result);
int roleId=MyRole.getId("Admin");
System.out.println("role id "+roleId);
}
}

谢谢。

最佳答案

使用 EnumUtils

import org.apache.commons.lang3.EnumUtils;

import java.util.Optional;

public enum MyRole {

Admin(1),
Manager(2);

private int id;

MyRole(int id) {
this.id = id;
}

public int id() {
return this.id;
}

public static int getId(String role){
return Optional.ofNullable(EnumUtils.getEnum(MyRole.class, role)).map(MyRole::id).orElse(-1);
}

public static String getRole(int id){
return EnumUtils.getEnumList(MyRole.class).stream().filter(r -> r.id == id).map(MyRole::name).findAny().orElse(null);
}

public static void main(String args[]){

String result=MyRole.getRole(1);
System.out.println("role name"+result);
int roleId=MyRole.getId("Admin");
System.out.println("role id "+roleId);
}
}

关于java - java中的键到值/值到键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33719809/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com