java代码,如何打印hashmap打印的是对象,toString后也不行,请问如何打印?

HashMap<String,String> hs = null;
hs = StringTool.getFormData(request);
logger.log(hs.toString())
阅读 7.7k
4 个回答

简单一点吧,用Json序列化一下,序列化成String,在用log去打印就可以

转json字符串
如使用Gson则new Gson().toJson(hs)

HashMap map = new HashMap();
map.put("tr", 1);
map.put("trt",3);
map.put("r",6);
map.forEach((K,V)-> System.out.println(K+"&"+V));

    /**
      * 打印map键值对
     * @param c 当前类的class
     * @param map map集合
     */
    public static void showMap(Class<?> c,Map<?,?> map,Object...info){
        StringBuilder sbr=new StringBuilder("<-↓-↓-↓-↓-↓-↓->"+c.getName());
        if(info!=null){
            boolean isFirst=true;
            sbr.append(':');
            for(Object obj:info){
                if(isFirst){
                    if(obj!=null)sbr.append(obj.toString());
                    isFirst=false;
                }else{
                    if(obj!=null)sbr.append(","+obj.toString());
                }
            }
        }
        sbr.append('\n');
        for(Object key:map.keySet()){
            sbr.append(key+":"+map.get(key)+'\n');
        }
        sbr.append("<-↑-↑-↑-↑-↑-↑-↑->");
        System.out.println(sbr.toString());
    }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题