Java 在什么条件下SocketChannel.hashCode()可以更改?

Java 在什么条件下SocketChannel.hashCode()可以更改?,java,nio,hashcode,Java,Nio,Hashcode,SocketChannel.hashCode基于SocketChannel对象的哈希返回一个int值。我假设这个对象的元素可以在无法控制的不同点上改变,所以我的问题是这个对象的hashCode有多恒定?SocketChannel不会覆盖OpenJDK 1.8.031检查的hashCode。换句话说,将使用对象哈希代码的默认实现,在对象的生命周期内,哈希代码不应更改。您使用的实际类型是什么?SocketCannel是一个抽象类。但不太可能在应用程序的多次运行中保持不变。@IanMcLaird Un

SocketChannel.hashCode基于SocketChannel对象的哈希返回一个int值。我假设这个对象的元素可以在无法控制的不同点上改变,所以我的问题是这个对象的hashCode有多恒定?

SocketChannel不会覆盖OpenJDK 1.8.031检查的hashCode。换句话说,将使用对象哈希代码的默认实现,在对象的生命周期内,哈希代码不应更改。

您使用的实际类型是什么?SocketCannel是一个抽象类。但不太可能在应用程序的多次运行中保持不变。@IanMcLaird Unlinkly是一个轻描淡写的说法:-