[英]KeyStroke class as a key in HashMap
关于重写equals()和hashCode()的几个答案描述了两者的需求以及在Java HashMap中将它们用作键的应用。 我的问题是,是否可以安全地将Java KeyStroke类作为键放在HashMap中? 此外,所以我并不烦恼并继续问这些问题,如何确定提供的类(我认为KeyStroke由Swing提供)在这种情况下是否可以安全使用...即覆盖equals()和hashCode ()?
提前致谢!
查看是否重写equals
和hashCode
方法是看一下API 。 hashCode
和equals
在KeyStroke
中不会被覆盖,但是在AWTKeyStroke
。 实际上, AWTKeyStroke#hashCode
指出:
[该对象]作为哈希表中的索引值是一个不错的选择。
如果HashMap键覆盖equals和hashCode并且是不可变的 ,并且检查API,则KeyStroke为最佳。 所以应该没问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.