gpt4 book ai didi

java - 检查setter是否被调用?

转载 作者:太空宇宙 更新时间:2023-11-04 12:51:43 25 4
gpt4 key购买 nike

我编写了函数,其中遍历 HTTP 查询字符串参数并通过读取字符串设置两个 POJO 类属性。一些查询字符串参数属于第一类,一些属于另一类。

例如:http://example.com?crb=nmsa&cra=jasdlka&.... 我正在从 Map

读取 crb、cra 等
Pojo pojo = new Pojo();


for (Map.Entry<String, List<String>> queryParameter : queryParamsAndValues.entrySet()) {

System.out.println(queryParameter.getKey() + "/" + queryParameter.getValue());

queryFieldName = QueryFieldName.getLongName(queryParameter
.getKey());



switch (queryFieldName) {

case CREATED_BEFORE:
pojo.setCreatedBefore(queryParameter.getValue()
.get(0));
System.out.println("CREATED BEFORE");
break;
case CREATED_AFTER:
pojo
.setCreatedAfter(queryParameter.getValue().get(0));
System.out.println("CREATED AFTER");
break;
case FILTER_USAGE:
pojo.setFilterUsage(new BigInteger(queryParameter
.getValue().get(0)));
System.out.println("");
break;
case RESULT_CONTENT:
pojo2.setResultContent(new BigInteger(queryParameter
.getValue().get(0)));
System.out.println("Result Content: " + new BigInteger(queryParameter.getValue().get(0)));
break;
case RESPONSE_TYPE:

ResponseTypeInfo resTypeInfo = new ResponseTypeInfo();
resTypeInfo.setResponseTypeValue(new BigInteger(queryParameter.getValue().get(0)));
pojo2.setResponseType(resTypeInfo);
default:
System.out.println("DEFUALT");
}
}

reqPrim.setPojo(pojo);

}else{
reqPrim.setPojo(null);
}

因此,pojopojo2 在读取查询字符串后被设置。

现在我想知道是否设置了 pojo 的任何属性。一种选择是每次设置 pojo 的属性时将标志设置为 true。

有什么有效的方法吗?

最佳答案

您可以实现 pojo 以使用 map 作为所有属性的容器。然后“任何属性集”翻译为调用该 map 上的“isEmpty()”。或者你直接使用内置的java properties .

关于java - 检查setter是否被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35769715/

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