当我尝试在scala中打印自定义对象时,它会给出其内存地址
object Test; println(Test)<br/>
Output : Test$@250f9a46
当涉及列表时,打印字符串asString被覆盖了
println(List(1,2,3))<br/>
output : List(1, 2, 3)
有办法获得地址吗?
答案 0 :(得分:3)
它实际上不是默认的toString方法获得的内存地址,而是Object的哈希码。 (内存地址也可能在运行时更改,因为垃圾收集器会在不同的生成空间之间移动对象。)
java.lang.Object中的toString实现是
return getClass().getName() + "@" + Integer.toHexString(hashCode());
因此,您可以使用此代码获得类似的结果。