如何将对象的字段作为逗号分隔的字符串或 java 中的列表

How to get object's fields as comma separated string or a list in java

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

class Sample {

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

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

有没有程序化的方法来做到这一点?

您可以使用 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"}
}