У меня есть следующий класс в java
public class MyZClass1_ {
public int x = 100;
}
, и этот тест в kotlin
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
class _01_SO_KotlinReflectionAccessorReturnTypeKotlinNull {
@Test
fun demonstrate_returnTypeReflectionOfAccessorFunctionInJavaClassThrowsKotlinNull() {
val zClass1_ = MyZClass1_::class
for (declaredProperty in zClass1_.declaredMemberProperties) {
val propertyGetter = declaredProperty.getter
assertNotNull(propertyGetter)
try {
val returnType = propertyGetter.returnType
} catch (ex: KotlinNullPointerException) {
ex.printStackTrace()
}
}
}
}
propertyGetter
не равен нулю (как заявлено) propertyGetter.returnType
имеет ненулевой тип KType
- Проблема в том, что строка
val returnType = propertyGetter.returnType
выдает KotlinNullPointerException
. - Почему это так? Я что-то упустил?