我需要为InetSocketAddress
编写一个Comparator
,以便可以在TreeSet
中使用该类。它们需要按地址和端口进行比较。
代码可能看起来像这样,但问题是我不知道如何通过<(-1)>(1),=(0)来比较地址和端口。
TreeSet<InetSocketAddress> _tree = new TreeSet<InetSocketAddress>
(new Comparator<InetSocketAddress>() {
public int compare(InetSocketAddress o1, InetSocketAddress o2) {
///?????
return 0;
}
});
编辑... 实际问题是如何比较InetSocketAddress。
///?????
不是一个问题)。 - Andrew ThompsonInetSocketAddress.equals(Object)
方法保持一致,我建议您查看OpenJDK 7中InetSocketAddress.equals(Object)
方法的实现。请确保检查此帖子中的每个答案是否符合equals - compareTo
约定。 - mucaho