java - 如何在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"}
}
推荐阅读
- android - 如何在登录屏幕出现时阻止用户返回,而不是终止活动(Firebase 身份验证)
- python - Pytorch“NCCL 错误”:未处理的系统错误,NCCL 版本 2.4.8”
- flutter - 检查 popUntil 是否可能/检查导航堆栈中是否命名路由
- apache-kafka - 为什么从 v0.6.0 升级到 v0.8.1 时 ksqldb-server 崩溃?
- selenium-webdriver - 如何知道量角器中哪个元素是陈旧的?
- java - Lambda 中的变量捕获
- javascript - 尝试从 Twilio 视频房间断开连接时出现“未捕获的 ReferenceError:房间未定义”
- laravel - Laravel 网站中的 PayPal 集成
- r - r中的词干函数
- javascript - 严格模式下不允许在“切片”上调用删除