Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:打印出一个对象以进行调试_Java_Json_Tostring_Infinity_Divide By Zero - Fatal编程技术网

Java:打印出一个对象以进行调试

Java:打印出一个对象以进行调试,java,json,tostring,infinity,divide-by-zero,Java,Json,Tostring,Infinity,Divide By Zero,我想要一种打印java对象的简单方法,或者换句话说,将对象序列化为字符串。我希望看到对象中包含的所有变量的值,如果有更多的对象(如列表或其他),它也应该打印出该对象中的内容。基本上,它类似于JSON编码,但JSON不支持无穷大,我需要看看双精度或浮点值中是否有无穷大或NaN 我怎样才能做到这一点呢?通常情况下,这种方法非常有效。但是,在进行映射时,它不起作用。您可以使用它序列化为JSON,因为它是您编写的类。只要适当地重写ToString()方法即可。我没有编写它。这需要很长时间才能手动完成,即

我想要一种打印java对象的简单方法,或者换句话说,将对象序列化为字符串。我希望看到对象中包含的所有变量的值,如果有更多的对象(如列表或其他),它也应该打印出该对象中的内容。基本上,它类似于JSON编码,但JSON不支持无穷大,我需要看看双精度或浮点值中是否有无穷大或NaN


我怎样才能做到这一点呢?

通常情况下,这种方法非常有效。但是,在进行映射时,它不起作用。

您可以使用它序列化为JSON,因为它是您编写的类。只要适当地重写
ToString()
方法即可。我没有编写它。这需要很长时间才能手动完成,即使我可以。你所说的“但是JSON不支持无穷大”可能是什么意思的复制品?@Amir请参阅规范第2.4节-(JSON官方不支持NaN和infinity)…这是apache公用语言的一部分。链接似乎已断开。请验证它是否已被移动到新位置。这工作非常漂亮,比另一个答案中的反映要好得多。我使用了
Gson Gson=new GsonBuilder().serializeSpecialFloatingPointValues().serializeNulls().create();System.out.println(gson.toJson(obj))让我看到空值、NaN值和无穷大值。这对模拟对象或静态变量不太有效