这是一个正确的 prinltn 声明吗? (关于HashMap)
How is this a correct prinltn statement? (about HashMap)
我是第一学期,计算机工程专业的大一学生。
之前在看这个HashMap的教程,被第12行的代码弄糊涂了
fun.replace("bobbyJoe1996", "b3tt3rP@ssword!"));
对我来说一点都不像可打印的东西。在这种情况下,为什么 println()
方法打印该对的前一个值?
查看 HashMap 替换方法文档:https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html#replace-K-V-
它 returns 旧值,所以是的,它是可打印的。它将打印 Fluffyp0nies!
它打印以前的值,因为这是 .replace 方法返回的值,它被设计为以这种方式工作,并且已记录在案。
很奇怪你不要求打印整个 HashMap XDDDD,但我也会回答这个问题:在 java 中几乎所有东西都是可打印的,因为每个对象都实现了 toString 方法(参见 https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--), 即使它是默认实现 which returns ClassName@referenceid 其中 referenceid 是标识对象实例的十六进制代码。
我是第一学期,计算机工程专业的大一学生。
之前在看这个HashMap的教程,被第12行的代码弄糊涂了
fun.replace("bobbyJoe1996", "b3tt3rP@ssword!"));
对我来说一点都不像可打印的东西。在这种情况下,为什么 println()
方法打印该对的前一个值?
查看 HashMap 替换方法文档:https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html#replace-K-V-
它 returns 旧值,所以是的,它是可打印的。它将打印 Fluffyp0nies!
它打印以前的值,因为这是 .replace 方法返回的值,它被设计为以这种方式工作,并且已记录在案。
很奇怪你不要求打印整个 HashMap XDDDD,但我也会回答这个问题:在 java 中几乎所有东西都是可打印的,因为每个对象都实现了 toString 方法(参见 https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--), 即使它是默认实现 which returns ClassName@referenceid 其中 referenceid 是标识对象实例的十六进制代码。