Я пытаюсь создать массив объектов (Object []) для передачи в метод ( IDescriptor ):
Object[] newValues = {
Boolean.TRUE
}
descriptor.setParameters(newValues)
Определенный дескриптор ожидает первое значение вмассив должен быть java.lang.Boolean объектом.Однако кажется, что Groovy конвертирует в свой собственный логический класс, и когда я запускаю код (приведенный выше не полный код), дескриптор сообщает, что первый объект в массиве не является объектом java.lang.Boolean.
Не то чтобы это было очень информативно, это трассировка стека:
org.openscience.cdk.exception.CDKException: The first parameter must be of type Boolean
at org.openscience.cdk.qsar.descriptors.molecular.AromaticAtomsCountDescriptor.setParameters(AromaticAtomsCountDescriptor.java:118)
Когда я добавляю assert (повторяется в ошибке), я получаю эту ошибку:
assert newValues[0] instanceof java.lang.Boolean
| | |
| | false
| AromaticAtomCountDescriptorParams$_run_closure3@1cc5069
[AromaticAtomCountDescriptorParams$_run_closure3@1cc5069]
Как я могу убедиться, что Groovy использует логический класс Java в массиве вместо своего более богатого класса?