java 如何在java中检查getter方法的null

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/14256493/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-31 15:38:12  来源:igfitidea点击:

How to check null for getter methods in java

java

提问by Manu

I have a POJO class.

我有一个 POJO 课程。

class Activity{
   private String name;

   public String getName()
      return name;
   }

   public void setName(String name){
      this.name=name;
   }
}

im having belw condtions.its not enr=ering properly in those condtions accordingly

我有 belw 条件。相应地,它在这些条件下没有正确设置

 if(stlmtTransRequestVO.getStlmtTransId()!=null && stlmtTransRequestVO.getPaymentTransId()!=null){
stlmtTransDtlsList = (List<StlmtTransResponseVO>) queryForList(
        "GET_STLMTPAY_TRANSACTIONS", stlmtTransRequestVO);


 }else if(stlmtTransRequestVO.getAgentId()!=null && stlmtTransRequestVO.getAgencyId()==null){
stlmtTransDtlsList = (List<StlmtTransResponseVO>) queryForList(
        "GET_AGENT_TRANSACTIONS", stlmtTransRequestVO);

 }else if(stlmtTransRequestVO.getAgencyId()!=null && stlmtTransRequestVO.getAgentId()==null){
stlmtTransDtlsList = (List<StlmtTransResponseVO>) queryForList(
        "GET_AGENCY_TRANSACTIONS", stlmtTransRequestVO);

 }else if(stlmtTransRequestVO.getAgencyId()!=null && stlmtTransRequestVO.getAgentId()!=null){

}

How to check this getter method for having data or not?

如何检查这个 getter 方法是否有数据?

I have tried below scenarios but not working

我尝试过以下场景但不起作用

   1) obj.getName()!=null
   2) obj.getName().isEmpty()

回答by Bozho

obj.getName() != nullis right. But it depends on your definition of "having data". It might be: object.getName() != null && !obj.getName().isEmpty().

obj.getName() != null是对的。但这取决于您对“拥有数据”的定义。可能是:object.getName() != null && !obj.getName().isEmpty()

There are utilities to facilitate that, like apache commons-lang StringUtils.isNotEmpty(..)

有一些实用程序可以促进这一点,比如 apache commons-lang StringUtils.isNotEmpty(..)

回答by rai.skumar

if( obj.getName() != null && !"".equals(obj.getName()) ){
   //getName is valid
} 

Above is checking that name is not nulland also it's not empty. Also "".equals(obj.getName())is considered better approach than obj.getName().equals("").

以上是检查 name不是 null并且它不是 empty。此外,"".equals(obj.getName())被认为是比obj.getName().equals("")更好的方法。

回答by Adrián

Initialize like this:

像这样初始化:

private String name = "";

Then you can check it with:

然后你可以检查它:

obj.getName().isEmpty();

回答by Alejandro Cuervo

Name is a String object, to check if it hasn′t data do this:

Name 是一个 String 对象,要检查它是否没有数据,请执行以下操作:

obj.getName() != null;
obj.getName.equals("");

回答by Azodious

Your first check is correct. Modify your 2nd check as follows:

你的第一次检查是正确的。修改您的第二个检查如下:

obj.getName().equals("");

回答by Surendran Duraisamy

Always Use StringUtils.isEmptyin case of String

在字符串的情况下始终使用StringUtils.isEmpty