正如丹尼尔建议的那样,我省略了很多信息,所以这就是我想要做的:
我只有一个 POJO 类
class MyDataObj(val a:String, val b:Boolean)
我想在 SQL 插入语句中转换它的一个实例。有人建议我使用这个片段:
val o = new MyDataObj("word", false)
val attributes = o.getClass.getDeclaredMethods.filter { _.getReturnType != Void.TYPE
}.map {
method => (method.getName, method.getReturnType, method.invoke(o))
}
返回一个这样的数组:
Array[(String, Class[?0], Object) forSome { type ?0 }] = Array((a,class java.lang.String,word))
我无法弄清楚如何访问 Class 括号之间的类型以评估如何构建我的 SQL 语句:如果是 Class[String] 我需要将元组的第三个元素括在引号中,如果是 Class [int] 或 Class[boolean] 我只需要将值作为不带附件的字符串返回。
希望现在已经足够清楚了。