[英]Does Java have generic test for equality that also handles nulls?
Java標准庫中是否存在具有靜態相等函數的任何地方?
public static <T> boolean equals(T a, T b)
{
if (a == null)
return b == null;
else if (b == null)
return false;
else
return a.equals(b);
}
我剛剛在一個新的項目Util
類中實現了這個,無數次。 似乎令人難以置信的是它不會作為標准庫函數發布......
在JDK 7中有Objects#equals() 。 來自Javadoc:
如果參數彼此相等則返回true,否則返回false。 因此,如果兩個參數都為null,則返回true,如果只有一個參數為null,則返回false。 否則,通過使用第一個參數的equals方法確定相等性。
除了Apache Commons Lang中已經提到的功能之外,Google Guava還有一個, Objects#equal() :
Java 7以后我們有JDK 7 Objects#equals() 。
您也可以查看第三方庫:
Apache Commons ObjectUtils#equals() ,Google的Guava Objects#equal()和Spring的ObjectUtils #nullSafeEquals() 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.