我有以下方法,如果数据为非空或非空,它将更新用户数据

public Users updateUser(Users requestBody) throws AppServiceException {

        Users user = new Users();
        try {

            user = userDAO.getUserByUserId(requestBody.getUserId());

        if (requestBody.getRole() != null && !requestBody.getRole().isEmpty()) {
            user.setRole(requestBody.getRole());
        }

        if (requestBody.getUserName() != null && !requestBody.getUserName().isEmpty()) {
            user.setUserName(requestBody.getUserName());
        }

        if (requestBody.getChannelType() != null && !requestBody.getChannelType().isEmpty()) {
            user.setChannelType(requestBody.getChannelType());
        }

        if (requestBody.getStatus() != null && !requestBody.getStatus().isEmpty()) {
            user.setStatus(requestBody.getStatus());
        }
        if (requestBody.getDevice() != null) {
            user.setDevice(requestBody.getDevice());
        }

        user.setUpdatedDate(new Date());

        user = userDAO.updateUser(user);


        } catch (Exception e) {

            e.printStackTrace();
            throw new AppServiceException(AppServiceException._FAIL_TO_UPDATE);
        }
        return user;
    }


我每次都检查nonNull和isEmpty的值。

如何避免这种情况?

最佳答案

您可以使用Apache Commons lang的StringUtils.isEmpty(java.lang.String)


  检查字符串是否为空(“”)或null。


如果您的代码:

if (StringUtils.isEmpty(requestBody.getStatus())) {

10-08 16:04