2015-02-03 2 views
2

SocketChannel.hashCode() возвращает значение int на основе хэша SocketChannel Объект. Я полагаю, что элементы этого объекта могут меняться в разных точках, которые нельзя контролировать, поэтому мой вопрос в том, насколько постоянным является hashCode этого объекта?При каких условиях может измениться SocketChannel.hashCode()?

+2

Какой конкретный тип вы используете? '' SocketChannel'' является абстрактным классом. –

ответ

4

SocketChannel не переопределяет hashCode() (проверено с помощью OpenJDK 1.8.0_31). Другими словами, используется реализация по умолчанию ObjecthashCode(), которая не должна меняться в течение всего жизненного цикла объекта.

+0

Но * маловероятно *, чтобы быть постоянным в нескольких прогонах приложения. –

+0

@IanMcLaird "Unlinkely" - это преуменьшение :-) – Mureinik