Java if条件为空验证

时间:2015-06-30 04:24:21

标签: java if-statement

我是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;
}

这是正确的还是其他任何简单方法都可以解决问题

提前致谢

4 个答案:

答案 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)

您的代码有多种建议:

  1. 在代码中使用camel-case作为变量,方法等。例如,参数应命名为PersonalDetails request而不是PersonalDetails Request。这些是标准编码约定。此外,getter / setter应遵循规则,检查似乎错过它的HomeAddress
  2. 使用StringBuilder类,因为它在循环中附加时特别有效。
  3. 在执行任何其他操作之前,您需要先检查null NullPointerException。您还可以阅读Java 8中的Optional
  4. 代码可以改进如下:

    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();
        }