我需要检查在定义为以下内容的Scala类(Test.class)中所有值是否为空:
class Test extends Serializable {
a: String = _
b: String = _
c: String = _
}
我不能更改此类(这是我项目中的旧代码)。 如果没有很多我该怎么办?真正的班级有22个领域。
我尝试使用Java反射来检测已定义的字段,但是它们都是每个定义的,因此我无法访问它,因为这些字段是反射器专用的。 (criteria.getClass.getDeclaredFields
)
答案 0 :(得分:1)
感谢@Dmytro Mitin,它对我有用。我认为我将使用这种方法来检查not null元素:
testClass.getClass.getDeclaredFields.flatMap(f => {
f.setAccessible(true)
Option(f.get(criteria))
}).length