Java通过反射的方式输出相关类的内容

291 阅读1分钟

导入相关依赖

<dependency>
    <groupId>commons-lang</groupId>
    <artifactId>commons-lang</artifactId>
    <version>2.6</version>
</dependency>

使用方式

测试类

public class User {
    private String name;
    private Integer age;

    public User(String name, Integer age) {
        this.name = name;
        this.age = age;
    }
}

使用

import org.apache.commons.lang.builder.ReflectionToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

/**
 * @author Manaphy Chen
 * @date 2019-10-21
 */
public class UserTest {
    public static void main(String[] args) {
        User chen = new User("chen", 27);
        //data.User@5ca881b5[name=chen,age=27]
        System.out.println(ReflectionToStringBuilder.toString(chen, ToStringStyle.DEFAULT_STYLE));
        //chen,27
        System.out.println(ReflectionToStringBuilder.toString(chen, ToStringStyle.SIMPLE_STYLE));
        /*
        data.User@5ca881b5[
          name=chen
          age=27
        ]
         */
        System.out.println(ReflectionToStringBuilder.toString(chen, ToStringStyle.MULTI_LINE_STYLE));
        //User[name=chen,age=27]
        System.out.println(ReflectionToStringBuilder.toString(chen, ToStringStyle.SHORT_PREFIX_STYLE));
        //data.User@5ca881b5[chen,27]
        System.out.println(ReflectionToStringBuilder.toString(chen, ToStringStyle.NO_FIELD_NAMES_STYLE));
    }
}