scala中列表的内存地址

时间:2017-03-12 13:57:48

标签: scala

当我尝试在scala中打印自定义对象时,它会给出其内存地址

object Test; println(Test)<br/>
Output : Test$@250f9a46

当涉及列表时,打印字符串asString被覆盖了

println(List(1,2,3))<br/>
output : List(1, 2, 3)

有办法获得地址吗?

1 个答案:

答案 0 :(得分:3)

它实际上不是默认的toString方法获得的内存地址,而是Object的哈希码。 (内存地址也可能在运行时更改,因为垃圾收集器会在不同的生成空间之间移动对象。)

java.lang.Object中的toString实现是

return getClass().getName() + "@" + Integer.toHexString(hashCode());

因此,您可以使用此代码获得类似的结果。