2014-09-03 95 views
3

我想製作檢查類實例是否爲null的方法。如何檢查對象是否爲null或不是== null

只要我知道,我可以使用== null,但我想知道,有沒有可實施檢查,如果實例爲空或不是任何其他方式?

我有近70-80類實例。 &所有該類延伸相同的類BaseEntity

在聲明的時間,我聲明等每個實例:

ENTITY1 INSTANCE1 = NULL;

像這樣我已經定義了所有70 class instances

當它們將被使用我正在使用新的初始化它們。 但在我的主要Entity Processor結束時,我必須存儲每個實體id的數據,它被初始化,所以爲此我必須檢查實例是否爲null?

All Entities extend同類BaseEntity所以我做了下面的方法。

我知道只有一個方法:

public boolean checkIfEntityNull(BaseEntity entity){ 
     return entity != null ? true : false; 
} 

如果返回true話,我會打電話給它save method of repository to save data in DB否則它會不會調用保存方法。

所以任何指導它的傢伙。

+2

旁註:!'返回實體= NULL? true; false;'可以簡化爲'return entity!= null;' – BackSlash 2014-09-03 11:01:25

+1

老實說,如果你需要一個類中的70個變量,我不知道你在做什麼(ArrayList 不會更好嗎?) 從那以後,==比較有什麼問題呢?另外,我會寫這種方法: public boolean checkIfEntityNull(Object entity){ return entity!= null; } – Pienterekaak 2014-09-03 11:03:41

+0

@BackSlash:我減少了。 – 2014-09-03 11:13:54

回答

4

最簡單的檢查方法是entity == null。沒有更簡單的方法來做到這一點。

注意,存在在標準庫此一方法:

Objects.isNull(Object obj)

而另一個是上述之一的相反:

Objects.nonNull(Object obj)

並且有另一個可以用來強制值不是null,它拋出一個NullPointerException否則:

T Objects.requireNonNull(T obj);

注:在Java 7中添加的Objects類,但加入了isNull()nonNull()方法只在Java 8

+0

我還會提到這些方法是在Java 8中引入的,所以如果你使用的是舊版本,你將不會擁有它們。 – BackSlash 2014-09-03 11:15:34

+0

是的,我正在使用'Java 7更新67',所以我不能使用它們。 – 2014-09-03 11:16:30

+0

它們是在** Java 7 **中引入的,所以你可以**使用它們。 – icza 2014-09-03 11:18:07