gpt4 book ai didi

Java 匹配字符串输入为 ENUM

转载 作者:行者123 更新时间:2023-12-02 01:53:35 24 4
gpt4 key购买 nike

我有一个Java程序,它使用ENUM来编码不同的字符串。现在,我添加了 Main 类,它从命令行接收一些参数的输入。问题在于用户输入是字符串,但 ENUM 类型是不同的 java 对象。代码如下:

public static void main(String[] args) {

if(args.length!=3)
{
printUsage();
System.exit(0);
}

File dbpath = new File( args[0] );
File file= new File( args[1] );
String query = args[2];
Result res = manager.executeQuery(QuerySelector.MYQUERY);

如您所见,第三个参数 query 无法与 executeQuery 的参数匹配,因为它是 QuerySelector 而不是字符串。我希望用户只需要输入“MYQUERY”,它是一个字符串(在本例中,但有无数个),并找到一种方法将其插入到executeQuery 参数中。您能建议一个方便的方法吗?

最佳答案

您可以在枚举中创建一个方法,将字符串转换为相应的枚举。

public static QuerySelector forName(String query) {
for (QuerySelector param : QuerySelector.values()) {
if (query.equals(param.toString()))) {
return param;
}
}
return null;
}

然后将其用于您的通话

Result res = manager.executeQuery(QuerySelector.forName(query));

关于Java 匹配字符串输入为 ENUM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52624337/

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