我有一个场景来验证给定的输入参数是否为空,我有数据类型的字段列表string and date - productId,productName,productType,productRating,productSellDate and productReturnDate
我想检查这些输入参数是null
or empty
or blank
对于每个字段,如果其中任何一个字段是empty
or blank
or null
- 它应该抛出NullPointerException
与字段名称。
请在下面找到我的代码 - 因为我是 Java 新手,请为编码标准道歉。我不知道如何获取具有的字段名称empty
or null
当我扔NullPointerException
我正在打电话validate
and validateDate
对于每个字符串,是否有任何选项可以一次性验证所有这些参数?
请建议是否有更好的方法来编写下面的代码。提前感谢您的帮助!谢谢。
import java.util.Date;
public class Test {
public static void main(String[] args) {
String productId = "";
String productName = "Apple";
String productType = "Electronics";
String productRating = "Good";
Date productSellDate = new Date();
Date productReturnDate = new Date();
System.out.println(validate(productId));
System.out.println(validate(productName));
System.out.println(validate(productType));
System.out.println(validate(productRating));
System.out.println(validateDate(productSellDate));
System.out.println(validateDate(productReturnDate));
}
private static String validate(String s) {
if (s.isBlank() || s.isEmpty()) {
throw new NullPointerException("input param is empty"); // how to get the string field name which is empty or null or blank
} else {
return "valid";
}
}
private static String validateDate(Date d) {
if (d == null) {
throw new NullPointerException("sell or return date is empty"); // how to get the date field name which is empty or null or blank
} else {
return "date is valid";
}
}
}
您可以像这样编写它以获取任意数量的输入,如果其中任何一个为 null 或空白或为空,则抛出
private static String validate(String... strings) {
for (String s : strings) {
if (s == null || s.isBlank() || s.isEmpty()) {
throw new NullPointerException("input param is empty");
}
}
return "valid";
}
你可以用任意数量的输入来调用它
validate("1", "2", null, "");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)