1
由于丹尼尔指出,我省略了大量的信息,所以这里就是我想要做的事:Scala:如何访问Class [?0]类型?
我只是有一个像类
class MyDataObj(val a:String, val b:Boolean)
一个POJO,我想改变它的一个实例在一个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))
我无法弄清楚如何访问类的括号内的类型,以评估如何构建我的SQL语句:在Class [String]的情况下,我需要将元组的第三个元素用引号引起来,例如Class [int]或Class [boolean],我只需要将该值作为字符串返回而没有外壳。
希望现在已经够清楚了。
没有!我得到了java.lang.Class,我需要在括号内表示的类型... – Max
我刚刚重新进入我的问题与更多的细节。请看看。 – Max
谢谢,getCanonicalName是我一直在寻找的。现在,您让我了解了Type是什么,我意识到解决方案非常简单...我不知道需要多长时间才能清楚地理解Scala(迄今只有三周),并且考虑到我没有Java背景我想这将需要很长时间。 – Max