Log日志打印集合类型
2015-08-03 17:09
295 查看
看到Logger可以打印json,当时就想能不能打印集合呢,现在通过学习了一些反射的东西,写了出来,仅供参考。
Log日志打印集合类型
此工具方法只打印了一层,而未对第二层打印,也就是说其打印的结果当中可能会有如下:
但是已经满足了基本要求
PS:推荐使用Logger–>https://github.com/orhanobut/logger
Log日志打印集合类型
[code]public static <E> void list(List<E> list) { if (IS_DDEBUG) { if (list == null || list.size() == 0) { Logger.d("list为空"); } else { Field[] allFields = null; StringBuilder builder = new StringBuilder(); builder.append("此集合共有"); builder.append(list.size()); builder.append("条数据"); builder.append("\r\n"); for (int index = 0; index < list.size(); index++) { E e = list.get(index); if (index == 0) { Class<?> cls = e.getClass(); allFields = cls.getDeclaredFields(); } builder.append("第").append(String.valueOf(index + 1)).append("个\r\n"); builder.append("\t"); builder.append("{"); builder.append("\r\n"); for (Field field : allFields) { //因为可能是private类型,故需要设置此项 field.setAccessible(true); builder.append("\t"); builder.append("\t"); builder.append("\""); builder.append(field.getName()); builder.append("\""); builder.append(":"); try { builder.append(field.get(e)); } catch (IllegalAccessException e1) { e1.printStackTrace(); } builder.append("\r\n"); } builder.append("\t"); builder.append("}"); builder.append("\r\n"); } //对应的log日志输出方法,此处是用了Logger中的.d方法 d(String.valueOf(builder)); } } }
此工具方法只打印了一层,而未对第二层打印,也就是说其打印的结果当中可能会有如下:
[code]"CREATOR":net.XXX.response.model.MediaInfo$1@705b0f6
但是已经满足了基本要求
PS:推荐使用Logger–>https://github.com/orhanobut/logger
相关文章推荐
- poj 3678 2-sat
- HDU 1540 (区间合并)
- Windows10中的IIS10安装php manager和IIS URL Rewrite 2.0组件的方法
- GridView的一些特殊属性
- win10桌面壁纸和主题颜色怎么设置?
- s:action标签不能使用问题解决
- J2EE 总结
- Linux进程调度机制(1)
- 数位DP模板
- 配置Nginx反向代理Tomcat
- Android ListView的setEmptyView方法的使用
- Guava中TreeRangeMap结构简析
- Python's Coding Style
- 利用JS弹出层实现简单的动态提示“正在加载中,请稍等...”
- CSS
- Android高仿微信图片多选功能
- 深入解析C语言声明
- jQuery 效果 - toggle() 方法
- 杭电(hdu)1702 ACboy needs your help again!
- Android Studio中如何引用图片资源