Java相当于PHP var_dump?

2022-08-30 06:57:21

PHP有一个var_dump()函数,它输出对象的内部内容,显示对象的类型和内容。

例如:

class Person {
  private $firstName;
  private $lastName;

  public function __construct($firstName, $lastName) {
    $this->firstName = $firstName;
    $this->lastName = $lastName;
  }
}

$person = new Person('Jon', 'Smith');
var_dump($person);

将输出:

object(Person)#1 (2) {
  ["firstName:private"]=>
  string(3) "Jon"
  ["lastName:private"]=>
  string(5) "Smith"
}

Java中的等效物是什么可以做同样的事情?


答案 1

它在Java中并不那么成熟,所以你不会免费获得它。它是用约定而不是语言结构完成的。在所有数据传输类中(甚至可能在您编写的所有类中...),您应该实现一个明智的 toString 方法。因此,在这里,您需要在类中重写并返回所需的状态。toString()Person

有一些实用程序可以帮助编写一个好的toString方法,或者大多数IDE都有一个自动写入快捷方式。toString()


答案 2

根据我的经验,var_dump通常用于调试PHP,而不是单步调试器。在 Java 中,当然可以使用 IDE 的调试器来查看对象内容的可视表示形式。


推荐