我正在尝试以列表的形式获取对象的属性。例如:
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));
}
输出:
{“类型”,“名称”,“值”}