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

10-05 21:48