2016-09-16 87 views

回答

4

如果你读了CharSequence接口的Javadoc页,它说,为equals的行为是不确定的:

此接口不修改的总承包equals和hashCode方法。因此,比较实现CharSequence的两个对象的结果通常是未定义的。每个对象都可以由不同的类来实现,并且不能保证每个类都能够测试其实例与其他实例的相等性。因此,将任意CharSequence实例用作集中的元素或映射中的键是不合适的。

+0

不要责怪有一个抽象方法的实现不好的接口(除非它有一个默认的方法,你怪)。一般来说,不要责怪标准的API。如果“效果不好”,问题通常在于使用它,而不是API本身。 –

+0

我不确定你是如何得到我责怪界面的印象。我只是说明了开发人员从文档中注意到的一个事实。 –

+0

反正你知道一个简单的解决办法比较'CharSequence's?或转换为'String',并使用'String'的'equal'? –

相关问题