我有一个密封类声明如下:
sealed class SealedClass {
object Pizza: SealedClass()
data class Hamburger(val hasCheese: Boolean): SealedClass()
}
我有一个将 SealedClass 键映射到字符串值的映射,并且我想在访问映射中的 SealedClass.Pizza 键时检索特定字符串,但是当我尝试使用时访问 SealedClass.Pizza 条目的结果返回 null我在代码的不同段中构造的 SealedClass.Pizza 键。
生成的 SealedClass.Pizza 对象似乎具有不同的哈希值,这可能可以解释为什么会出现这种情况。打印它们会导致
SealedClass$Pizza@4cf4ae53
和SealedClass$Pizza@21773412
我的印象是对象在一个类的所有实例中都是相同的,所以我不知道为什么它们有不同的哈希值,但无论如何,我希望能够使用这两个SealedClass.Pizza
对象来访问相同的字符串。我该怎么做?