Я реализовал следующий метод:
private fun String?.replaceHolder(item: String): String? {
return this?.replace("\$deployUnit", item)
}
Код, который его использует, выглядит так:
val a = "aaa".replaceHolder("fff")
Однако предполагаемый тип a равен String?
.
С контрактами я могу сказать, что если возвращаемое значение не равно нулю, то тема была не равна нулю:
@ExperimentalContracts
private fun String?.replaceHolder(item: String): String? {
contract {
returnsNotNull() implies (this@replaceHolder != null)
}
return this?.replace("\$deployUnit", item)
}
Можно ли сказать обратное? Я имею в виду, что тип a
не равен нулю? Есть ли другой способ сделать это?