我正在尝试创建一种方法,该方法可以使用对象的每个成员生成 JobParameters 对象。这是我到目前为止得到的:
public static JobParameters getAttributesAsJobParameters(Object objectToConvert) throws IllegalAccessException {
JobParametersBuilder jobParametersBuilder = new JobParametersBuilder();
for (Field field : objectToConvert.getClass().getDeclaredFields()) {
field.setAccessible(true);
jobParametersBuilder.addLong(field.getName(), (Long) field.get(objectToConvert));
}
return jobParametersBuilder.toJobParameters();
}
但这仅在对象没有任何不同于 Long 的成员时才有效。我怎样才能通用它以适用于所有原始类型?
最佳答案
根据https://docs.oracle.com/javase/tutorial/reflect/member/fieldTypes.html ,您可以使用 field.getType()
来确定数据类型。
此处给出了 Long
或 long
(原始)类型字段的示例:Check type of primitive field
关于java - 如何为任何对象创建 JobParametersBuilder?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44842750/