【发布时间】:2015-03-31 00:58:05
【问题描述】:
Kotlin 具有处理可空类型的漂亮特性(?. 和 !!.)。但是这个只是打动我——如果你不知道你是在处理可空类型还是不可空类型怎么办?如果你有泛型类MyClass<T>,那么你只有一些类型T,就是这样。
Kotlin 是否允许将“可为空”运算符应用于泛型类型(此处为T),是否可以将类型设为可空在类中(如T?),如果类将被实例化为可为空的类型——比如MyClass<String?>。是否会导致 MyClass 类型内的可空类型(如 C++ 中的指针——**std::string)类型为空?
【问题讨论】:
-
just type
T被解释为T: Any?所以没有“just typeT”,因为编译器会认为它可以为空。您可以使用T: Any定义一个不可为空的不同上限。