java中检查空引用的乐观方法

java中检查空引用的乐观方法,java,Java,任何精通Java的人/专家都可以建议我,在使用空引用或对象来避免NullPointerException之前,检查空引用或对象的乐观方法是什么 在我的代码中,我有100多个字段,其中大多数字段是在请求中传递值所必需的,但每次在请求中传递值之前,我都需要执行null检查,以避免出现NullPointerException 我在下面展示了一段代码,每次检查每个字段的空值(比如在我的一个文件中检查了70多次),这看起来不好,代码变得非常难看和不可读。有什么方法可以编写方法并通过它执行空对象检查吗 基本

任何精通Java的人/专家都可以建议我,在使用空引用或对象来避免
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); 
}