当转换一个java代码到科特林,该是什么阵<T?>意味着
public MayData[] getDataArray() {
return new MayData[0];
}
改为
fun getDataArray(): Array<MyData> {
return arrayOfNulls<MyData>(0)
}
,但我得到了一个错误:
Error:(50, 16) Type mismatch: inferred type is Array<MyData?> but Array<MyData> was expected
有加'?'
fun getDataArray(): Array<MyData?> {
return arrayOfNulls<MyData>(0)
}
'?'对于模板类型意味着什么?
?将类型标记为可为空。在Kotlin中,您可以区分可以为null的类型和不可以的类型。 –
T?是一个Kotlin可空类型,数组只是表示集合可以包含空值 –
感谢您的解释,但不知道为什么问一个问题变得'-2',如果谁给它的话可以解释这会更有帮助。 – lannyf