我是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;
}
这是正确的还是其他任何简单方法都可以解决问题
提前致谢
答案 0 :(得分:2)
如果字符串包含null
,那么它将通过空指针异常。
首先需要将其检查为空,然后检查为空。
Can we rely on String.isEmpty for checking null condition on a String in Java?
答案 1 :(得分:0)
你的情况是正确的,但你忘了在每个if中连接字符串。如果不连接它将不具有现有值而仅具有新值。
public static String checkValue(PersonalDetails Request) {
String str="Your ";
if(request.getID().isEmpty())
{
str= str + "ID,";
}
if(request.getName().isEmpty())
{
str= str + "Name";
}
if(request.getDesignation().isEmpty())
{
str= str + "Designation";
}
if(request.HomeAddress.isEmpty())
{
str= str + "Address";
}
str+= "cannot be empty"
return str;
}
我的建议是使用StringBuilder来获得更好的性能。
答案 2 :(得分:0)
最好不仅要检查isEmpty
。最好还是检查null
," "
或"-"
。
在您检查isEmpty或"-"
或" "
之前,请务必检查null
以避免获取NullPointerException
答案 3 :(得分:0)
您的代码有多种建议:
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();
}