У меня есть такой код Java:
String getData(Object obj)
{
if (obj instanceof String[])
{
String[] arr = (String[]) obj;
if (arr.length > 0)
{
return arr[0];
}
}
return null;
}
Как мне преобразовать этот код в Kotlin?
Я пробовал автоматическое преобразование Java в Kotlin, и это было результатом:
fun getData(obj:Any):String {
if (obj is Array<String>)
{
val arr = obj as Array<String>
if (arr.size > 0)
{
return arr[0]
}
}
return null
}
Это ошибка, которую я получил от компилятора kotlin:
Невозможно проверить экземпляр стертого типа: Array
Я думал, что стирание типов применимо только к универсальным типам, а не к простым, строго типизированным массивам Java. Как правильно проверить тип компонента переданного экземпляра массива?
EDIT
Этот вопрос отличается от вопросов проверки универсального типа, поскольку массивы Java не являются универсальными типами, а обычные проверки типа Kotlin с использованием оператора is вызывают ошибку времени компиляции.
Спасибо!