5

我有一个 POJO 课程。

class Activity{
   private String name;

   public String getName()
      return name;
   }

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

我有下面的条件。它没有相应地在这些条件下正确输入

 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){

}

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

我尝试过以下场景但无法正常工作

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

6 回答 6

11

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

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

于 2013-01-10T11:08:53.613 回答
7
if( obj.getName() != null && !"".equals(obj.getName()) ){
   //getName is valid
} 

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

于 2013-01-10T11:11:53.683 回答
3

像这样初始化:

private String name = "";

然后你可以检查它:

obj.getName().isEmpty();
于 2013-01-10T11:10:06.110 回答
1

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

obj.getName().equals("");
于 2013-01-10T11:09:24.457 回答
1

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

obj.getName() != null;
obj.getName.equals("");
于 2013-01-10T11:11:53.060 回答
1

在 String 的情况下始终使用StringUtils.isEmpty

于 2013-01-10T11:13:48.110 回答