我需要爲InetSocketAddress
編寫Comparator
,所以我可以在TreeSet
中使用這個類。他們需要通過地址和端口進行比較。InetSocketAddress的Java比較器
的代碼會是這個樣子,但問題是我不知道如何通過<(-1)的地址和端口進行比較,>(1)=(0)
TreeSet<InetSocketAddress> _tree = new TreeSet<InetSocketAddress>
(new Comparator<InetSocketAddress>() {
public int compare(InetSocketAddress o1, InetSocketAddress o2) {
///?????
return 0;
}
});
編輯...實際的問題。如何比較InetSocketAddress。
*「問題是..」*您忘了提問? (不,'/// ?????'是*不是問題)。 –
爲了與['InetSocketAddress.equals(Object)'](http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html#equals%28java.lang .Object%29)方法,我建議你看一看'InetSocketAddress.equals(Object)'方法是如何在[OpenJDK 7]中實現的(http://grepcode.com/file/repository.grepcode.com/java /root/jdk/openjdk/7u40-b43/java/net/InetSocketAddress.java#InetSocketAddress.equals%28java.lang.Object%29)。如果他們堅持'equals - compareTo'約定,一定要檢查這篇文章的每個答案。 – mucaho