有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

toString方法的java洞察

你能解释一下下面这行代码是什么意思吗

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

这就是toString()方法在对象类中的实现方式,但我无法理解它如何调用hashCode()


共 (2) 个答案

  1. # 1 楼答案

    这将返回一个由3部分组成的字符串

    1. 类的名称
    2. “@”字符
    3. 对象的哈希代码。hashCode()是Object类的另一个方法(因此所有其他对象都继承它,因为所有对象都是Object的子类)

    您可以在JavaAPI文档中阅读更多内容https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html

  2. # 2 楼答案

    类的任何实例都可以通过直接调用自己的方法来调用它们。你可以做this.getClass()getClass()this.hashCode()hashCode()

    getClass().getName()是从正在运行的程序中获取类名的反射(反射是程序在运行时检查自身的能力)。然后将其结果与字符串"@"和另一个字符串连接起来,该字符串是本机hashCode()实现的十六进制字符串表示形式