相当于JAVA中PHP print_r?

2022-09-02 20:05:19

上次我问如何在这里填充数据结构。现在我想知道Java中是否有一些东西,就像我在PHP中使用的print_r一样,来表示我在Maps和列表中填充的内容,而不必做我自己的算法。

有什么想法吗?


答案 1

调用集合应返回一个包含所有元素字符串表示形式的字符串。toString

但是,这不适用于内置数组,因为它们没有覆盖,只会给你一个内存地址。toString


答案 2

java中的toString()和PHP中的print_r()之间确实存在差异。请注意,php中还有__toString(),它相当于java中的String(),所以这不是真正的答案。

当我们有对象结构并且我们喜欢快速查看对象的完整图形及其值时,将使用print_r。

在java中为每个对象实现toString无法与print_r进行比较。

而是使用gson。它的作用与print_r

Gson gson = new GsonBuilder().setPrettyPrinting().create();
System.out.println(gson.toJson(someObject));

通过这种方式,您不需要为测试它所需的每个对象实现toString。

以下是文档:http://sites.google.com/site/gson/gson-user-guide

演示类(在java中):

公共类 A {

int firstParameter = 0;
B secondObject = new B();

}

公共类 B {

String myName = "this is my name";  

}

下面是 php 中带有 print_r 的输出:

Object

[firstParameter:private] => 0
[secondObject:private] => B Object

[myName:private] => 这是我的名字
)

)

下面是 java 中带有 gson 的输出:

{
“firstParameter”: 0,
“secondObject”: {
“myName”: “这是我的名字”
}
}


推荐