衆所周知,Object
是Java中的根類。我發現了一個名爲Objects
的類,看起來與Object
非常相似。java.lang.Object VS java.util.Objects,有什麼區別?
Theis Objects
上課讓我困惑了一陣子。有人可以告訴我何時何地應該使用Objects
類嗎?
衆所周知,Object
是Java中的根類。我發現了一個名爲Objects
的類,看起來與Object
非常相似。java.lang.Object VS java.util.Objects,有什麼區別?
Theis Objects
上課讓我困惑了一陣子。有人可以告訴我何時何地應該使用Objects
類嗎?
的典型應用之一Objects
類:
public void foo(SomeClass bar) {
Objects.requireNonNull(bar, "custom msg"); // // Ensure an object is not null.
}
輸出時bar
爲空:
Exception in thread "main" java.lang.NullPointerException: custom msg
at java.util.Objects.requireNonNull(Unknown Source)
at com.example.ObjectsUsage.main(ObjectsUsage.java:24)
另外一個從田間地頭修建的hashCode:
@Override public int hashCode() {
return Objects.hash(this.foo, this.bar, this.duh);
}
而最有用的一個:
if (Objects.equals(sun, moon)) {
log("I swear I am in earth");
}
的Javadoc是非常有益的 - http://docs.oracle.com/javase/ 7 /文檔/ API/JAVA/UTIL/Objects.html。 – Perception
我在等待有人提交「這個類包含對對象進行操作的靜態工具方法」。作爲一個答案,並得到一個流浪的用戶與不合適的代表一起upvote。 –
@AlexLynch:我知道微不足道的答案在這裏得到最多的代表,但是這到底是如何不恰當的?你知道這個應該被關閉嗎?答案不值得,因爲它「太簡單」了? –