2013-03-06 43 views
0

我想檢查兩個Esper的EventType對象是否相等。同樣我的意思是它們是具有相同屬性的相同事件類型。您應該使用equals方法還是比較Esper中EventType的事件類型ID?

我想知道做什麼是最好的方法。是可以安全使用equals方法,像這樣:

eventType.equals(otherEventType) 

由於EventType是一個接口,我不能肯定所有的實現類將覆蓋equals方法。正因爲如此,我認爲上面的代碼不是一個好主意。

,我能想到的另一種選擇是比較事件類型ID,像這樣:

eventType.getEventTypeId() == eventType.getEventTypeId() 

但是,我不知道這些ID是如何分配的。這會給我我正在尋找的東西,還是有更好的方法?

回答

1

事件類型標識符是每個類型的唯一標識符,因此不適用。 「Equals」也不適合。 由於它取決於應用程序的語義,不管類型是否相同,您需要編寫自己的比較。

+0

非常感謝您的回覆。我只是不確定你的意思是'每種類型的唯一ID'。這是否意味着如果我從'EPStatement'中獲得'EventType',當我創建語句,然後從'EventBean'中獲取另一個'EventType'時,當同樣的語句輸出時,它們將具有不同的事件類型ID ? – robingrindrod 2013-03-07 09:57:36

相關問題