首页 > 解决方案 > 如何在java中将对象的字段作为逗号分隔的字符串或列表获取

问题描述

我正在尝试将对象的属性作为列表获取。例如:

class Sample {

  private String type;
  private String name;
  private int value;
  
  // getter-setter
}

预期输出: {"type", "name", "value"}

有没有一种编程方式来做到这一点?

标签: javastringlistpropertiesinstance

解决方案


您可以使用 Java 反射

public static String getClassProperties(Class<?> clazz) {
    return Arrays.stream(clazz.getDeclaredFields()).map(field -> "\"" + field.getName() + "\"").collect(Collectors.joining(", ", "{", "}"));
}

使用示例:

public static void main(String[] args) {
    System.out.println(getClassProperties(Sample.class)); // {"type", "name", "value"}
}

推荐阅读