zoukankan      html  css  js  c++  java
  • Spring工具类ToStringBuilder用法简介

    转载:跳转

    简单介绍:

    1、项目中一般都需要打印日志,所有实体的toString()方法都是用简单的"+",因为每"+" 一个就会 new 一个 String 对象,这样如果系统内存小的话会暴内存。使用ToStringBuilder就可以避免暴内存这种问题。

    ToStringBuilder的reflectionToString方法:

      logger.info("请求数据:"+ToStringBuilder.reflectionToString(req));

    2、ToStringBuilder在包 common-lang 中,主要用于一个类的格式化输出。ToStringBuilder类中的append方法可以向该类添加基本类型、数组和对象 ,只有添加的方法才会被toString方法输出。

            ToStringStyle类则是对输出的内容进行格式化。

    使用例子:

     package test;
    
        public class User {
    
            private String name;
            private int age;
    
            public String getName() {
                return name;
            }
    
            public void setName(String name) {
                this.name = name;
            }
            
            public int getAge() {
                return age;
            }
           
            public void setAge(int age) {
                this.age = age;
            }
      }
    
    下面是ToStringBuilder的使用方法
    
      System.out.println("-------------ToStringBuilder-------------------------");
    
        User u = new User();
    
        u.setAge(25);
    
        u.setName("zhengtian");
    
        
    
      //对象及其属性一行显示
    
        System.out.println(ToStringBuilder.reflectionToString(u));
    
        System.out.println(ToStringBuilder.reflectionToString(u, ToStringStyle.DEFAULT_STYLE));
    
        //属性换行显示
    
        System.out.println(ToStringBuilder.reflectionToString(u, ToStringStyle.MULTI_LINE_STYLE));
    
        //不显示属性名,只显示属性值,在同一行显示
    
        System.out.println(ToStringBuilder.reflectionToString(u, ToStringStyle.NO_FIELD_NAMES_STYLE));
    
        //对象名称简写
    
        System.out.println(ToStringBuilder.reflectionToString(u, ToStringStyle.SHORT_PREFIX_STYLE));
    
        //只显示属性
    
        System.out.println(ToStringBuilder.reflectionToString(u, ToStringStyle.SIMPLE_STYLE));
    
    结果显示:
    
    -------------ToStringBuilder-------------------------
    
    test.User@141d683[name=zhengtian,age=25]
    
    test.User@141d683[name=zhengtian,age=25]
    
    test.User@141d683[
    
      name=zhengtian
    
      age=25
    
    ]
    
    test.User@141d683[zhengtian,25]
    
    User[name=zhengtian,age=25]
    
    zhengtian,25
    
    描述:ToStringBuilder比较适合在打日志时,输出参数的信息,特别是在参数为对象时,该工具类能够很方便的自动打印对象中的属性值
    

      maven包引入:

    1 <dependency>
    2     <groupId>org.apache.commons</groupId>
    3     <artifactId>commons-lang3</artifactId>
    4     <version>3.4</version>
    5 </dependency>        
  • 相关阅读:
    Linux Centos7(Mac) 安装Docker教程
    SpringBoot应用操作Rabbitmq(fanout广播高级操作)
    SpringBoot应用操作Rabbitmq(topic交换器高级操作)
    SpringBoot应用操作Rabbitmq(direct高级操作)
    CCF 字符串匹配(find()函数的使用)
    PKU 1204 Word Puzzles(AC自动机)
    PKU 1932 XYZZY(Floyd+Bellman||Spfa+Floyd)
    PKU 1201 Intervals(差分约束系统+Spfa)
    PKU 2352 Stars(裸一维树状数组)
    PKU 3169 Layout(差分约束系统+Bellman Ford)
  • 原文地址:https://www.cnblogs.com/myknow/p/9234049.html
Copyright © 2011-2022 走看看