Как это правильное заявление prinltn? (о HashMap) - PullRequest
0 голосов
/ 02 февраля 2020

Я первый семестр, студент-компьютерщик.

Screenshot of the program

Я смотрел этот урок HashMap ранее и был озадачен кодом в 12-й строке.

fun.replace("bobbyJoe1996", "b3tt3rP@ssword!")); совсем не похож на вещь для печати для меня. Почему в этом случае метод println() печатает прежнее значение пары?

1 Ответ

0 голосов
/ 02 февраля 2020

Проверьте документацию метода замены HashMap: https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html#replace -KV-

Возвращает старое значение, так что да, оно доступно для печати. Он напечатает Fluffyp0nies!

Он печатает прежнее значение, потому что это то, что возвращается методом .replace, он предназначен для работы таким образом и задокументирован.

Странно, что вы не просите печатать весь HashMap XD DDD, но я отвечу также: в java почти все печатается, потому что каждый объект реализует метод toString (см. https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString - ), даже если это реализация по умолчанию, которая возвращает ClassName@referenceid, где referenceid - шестнадцатеричный код, идентифицирующий экземпляр объекта.

...