日常编程里 经常要打印中间的运行参数,来进行判断程序状况找出错误。
然而在java中,基本参数类型还好,引用参数类型,如果没有重新tostring方法是 就经常打应对象地址。。。
wtk 我要看里面的值啊,对象地址有何用。
所以一般做法,对象要写个重tostring方法, 打印而数组、map等时,经常要写循环来遍历
我就是想调试下 看看参数有必要这么复杂吗。。
最近看到的用groovy语言打印就比较舒服, 任何数组map 一个println 搞定。但是种种原因我又不想用groovy来写。
于是想要借用:
果然groovy语言包里自带 json序列化。写法:
// groovy 提供的json输出非常好用,序列化后就好打印了
System.out.println(groovy.json.JsonOutput.toJson(map));
当然任何json序列化工具都可以完成此操作:
如google的 Gson
new Gson().toJson(departmentDatas);
springboot框架里默认的jackson
new ObjectMapper().writeValueAsString(obj);
Alibab的 fastJson (不推荐使用,据说有安全漏洞)