java中检查空引用的乐观方法
任何精通Java的人/专家都可以建议我,在使用空引用或对象来避免java中检查空引用的乐观方法,java,Java,任何精通Java的人/专家都可以建议我,在使用空引用或对象来避免NullPointerException之前,检查空引用或对象的乐观方法是什么 在我的代码中,我有100多个字段,其中大多数字段是在请求中传递值所必需的,但每次在请求中传递值之前,我都需要执行null检查,以避免出现NullPointerException 我在下面展示了一段代码,每次检查每个字段的空值(比如在我的一个文件中检查了70多次),这看起来不好,代码变得非常难看和不可读。有什么方法可以编写方法并通过它执行空对象检查吗 基本
NullPointerException
之前,检查空引用或对象的乐观方法是什么
在我的代码中,我有100多个字段,其中大多数字段是在请求中传递值所必需的,但每次在请求中传递值之前,我都需要执行null检查,以避免出现NullPointerException
我在下面展示了一段代码,每次检查每个字段的空值(比如在我的一个文件中检查了70多次),这看起来不好,代码变得非常难看和不可读。有什么方法可以编写方法并通过它执行空对象检查吗
基本上,我看起来更好,更乐观,更快的方式做这件事,任何快速的帮助是非常需要的
if(amount != null && amount != "" && !amount.isEmpty())
AIMRequest.put("x_Amount", amount);
if(currency != null && currency != "" && !currency.isEmpty())
AIMRequest.put("x_Currency_Code", currency);
if(expDate != null && expDate != "" && !expDate.isEmpty())
AIMRequest.put("x_Exp_Date", expDate);
...........so on
根据您的
if
,比较字符串的条件,制定一个方法:
public boolean isValid(String s) {
return s != null && s != "" && !s.isEmpty();
}
如果要使用此方法比较对象,请更改签名public boolean isValid(对象o)
您的代码将是干净的,如下所示:
if(isValid(amount))
AIMRequest.put("x_Amount", amount);
if(isValid(currency)
AIMRequest.put("x_Currency_Code", currency);
if(isValid(expDate)
AIMRequest.put("x_Exp_Date", expDate);
但是如果您可以收集数组中的所有对象
:
public boolean isValid(Object[] os) {
for (String s : os) {
boolean isValid = s != null && s != "" && !s.isEmpty();
if (!isValid) return false;
}
return true;
}
为此制定一个方法。DRY@HovercraftFullOfEels你是说干的吗?:)nvm@keyser:我得查一下。相关:amount!="" && !amount.isEmpty()与相同!amount.isEmpty()
Hi Jordi-这会提高性能吗?Hi bayou.io-这会提高性能吗?@user4567570-别担心;JVM很可能会对其进行优化。
add("x_Amount", amount);
add("x_Currency_Code", currency);
add("x_Exp_Date", expDate);
void add(String name, String value)
{
if(value!=null && !value.isEmpty())
AIMRequest.put(name, value);
}