在c#中工作我发现了String类非常有用的两个静态方法:
我在Java中找不到有效的代理,有类似的东西吗?
其实我已经用这种方式翻译了这两种方法:
public static boolean isNullOrEmpty(String a) {
return a == null || a.isEmpty();
}
public static boolean isNullOrWhiteSpace(String a) {
return a == null || (a.length() > 0 && a.trim().length() <= 0);
}
Run Code Online (Sandbox Code Playgroud)
这是在Java中翻译这些方法的最佳方法吗?在Java中翻译这两种方法的最佳方法是什么?
我有一个setter方法.
然后当运行另一个(比如生成)方法时,我需要检查我的字段的值.所以在String属性的情况下,我需要知道它是否包含值或者是否未设置.所以它可能是null,""或有意义的东西,有3种可能性.首先检查空值是否相当无聊:
if (s != null)
Run Code Online (Sandbox Code Playgroud)
然后换一个空字符串
if (!s.isEmpty())
Run Code Online (Sandbox Code Playgroud)
这里有一步检查吗?你可以告诉我,我可以使用空String初始化我的String字段.[这是常见的吗?]但是如果有人将null值传递给setter方法setS呢?那么在对该对象做某事之前,我们总是要检查Object值是否为null?
好吧,是的,setter方法可以检查它的值,如果字段为null,getter方法也可以返回非null值.但它是唯一的解决方案吗?对于程序员来说,在getter和setter中做太多工作了!
我有一个POJO课程.
class Activity{
private String name;
public String getName()
return name;
}
public void setName(String name){
this.name=name;
}
}
Run Code Online (Sandbox Code Playgroud)
我有相关的条件.因此,在这些条件中没有恰当地适应
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){
}
Run Code Online (Sandbox Code Playgroud)
如何检查此getter方法是否有数据?
我尝试了下面的方案,但没有工作
1) obj.getName()!=null
2) obj.getName().isEmpty()
Run Code Online (Sandbox Code Playgroud)