我是java的新手,我想进行条件检查并返回一条消息
PersonalDetails请求:它保存以下所有信息的值
getID();
getName();
getDesignation();
getHomeAddress();
getOfficeAddress();
getEmailID();
getMobile();
getHomePhone();
getOfficePhone();
我想检查所有值是否为空,然后返回消息。
如果我将空值传递给ID,名称,移动设备,则类似于“您的ID,名称,移动设备不能为空”
以下是示例代码段,必须对所有PersonalDetails请求进行检查
public static String checkValue(PersonalDetails Request) {
String str="Your ";
if(request.getID().isEmpty())
{
str="ID,";
}
if(request.getName().isEmpty())
{
str="Name";
}
if(request.getDesignation().isEmpty())
{
str="Designation";
}
if(request.HomeAddress.isEmpty())
{
str="Address";
}
str+= "cannot be empty"
return str;
}
是这样的权利还是其他任何简单的方法都可以解决这个问题
提前致谢
最佳答案
您的代码有多种建议:
将驼峰式大小写用于代码中的变量,方法等。例如,参数应命名为PersonalDetails request
而不是PersonalDetails Request
。这些是标准的编码约定。同样,getter / setter应该遵循规则,检查似乎错过了它的HomeAddress
。
使用StringBuilder
类,因为它在循环中追加时特别好执行。
在执行任何操作之前,您需要检查null
,否则将面临NullPointerException
。您还可以阅读Java 8中的Optional
。
可以对代码进行如下改进:
public static String checkValue(PersonalDetails request) {
if(null == request ) {
//Throw exception or log/return message as per your need.
}
int some_appropriate_size = 50; // You need to decide about some_appropriate_size so that it starts with enough capacity for the full content we are going to append.
StringBuilder stringBuilder = new StringBuilder(some_appropriate_size);
stringBuilder.append("Your ");
if(null!= request.getID() && request.getID().isEmpty())
{
stringBuilder.append("ID,");
}
if(null!= request.getName() && request.getName().isEmpty())
{
stringBuilder.append("Name");
}
if(null!= request.getDesignation() &&request.getDesignation().isEmpty())
{
stringBuilder.append("Designation");
}
if(null!= request.getHomeAddress() && request.getHomeAddress().isEmpty())
{
stringBuilder.append("Address");
}
stringBuilder.append( "cannot be empty");
return stringBuilder.toString();
}