智能投射到kotlin.String
我正在尝试Kotlin并从编译器得到消息:
Smart cast to kotlin.String
码:
/*"mTripStatus" is a nullable String*/ var html :String = HTML html = if (mTripStatus!=null) html.replace("TRIP_STATUS_VALUE", mTripStatus) else html
这是什么意思?
编译器知道,如果if
条件满足, mTripStatus
不能为null
,所以它执行从String?
智能转换 String?
String
。 这就是html.replace("TRIP_STATUS_VALUE", mTripStatus)
的编译方式。
但是请注意,这不应该被解释为编译器警告。 这是惯用的Kotlin代码。