gpt4 book ai didi

java检查字段的特定值

转载 作者:行者123 更新时间:2023-11-30 08:21:47 26 4
gpt4 key购买 nike

我需要检查一个特定的字段只允许特定的值,如何在 java 中做到最好。

例如:

对于“状态”字段,仅允许值为“eq”和“in”对于“日期”字段,仅允许的值为“gt”、“ge”和“eq”

我的方法看起来像这样,

boolean checkFieldAndOperatorMatching(String field, String operator);

例如,如果有人通过了

 checkFieldAndOperatorMatching("status", "eq"); //correct
checkFieldAndOperatorMatching("status", "in"); //correct

checkFieldAndOperatorMatching("status", "gt"); // not correct

checkFieldAndOperatorMatching("date", "gt"); //correct
checkFieldAndOperatorMatching("date", "ge"); //correct
checkFieldAndOperatorMatching("date", "eq"); //correct

checkFieldAndOperatorMatching("date", "in"); // not correct

最佳答案

使用属性,您可以执行类似(更改以满足您的要求)如下操作:

    public boolean checkFieldAndOperatorMatching(String field, String operator) {

// can be loaded once
// make it static or use a factory method
// which returns same Properties instance every time if already loaded
Properties properties = new Properties();

try (FileInputStream fin = new FileInputStream("D:\\fields.properties");) {

properties.load(fin);

} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

String validValues = properties.getProperty(field);

return Arrays.asList(validValues.split(",")).contains(operator);
}

其中,fields.properties 包含:

date=gt,ge,eq
status=eq,in

关于java检查字段的特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24925944/

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