Я не думаю, что в dataCount_1()
нужны !!
, так как после явной проверки нуля компилятор знает, что data
не может быть нулем, и умно приводит к необнуляемому типу.
Итак, хотя очень мало случаев, когда !!
может быть уместным, я не думаю, что это один из них!
(Кроме того, в этом случае вы можете внести еще два измененияcase: используйте lateinit
var, который снова не потребует !!
, и замените все условие более кратким .isNotNullOrEmpty()
.)
В целом мой опыт показывает, что Для большинства времени, когда вы достигаете !!
, есть лучший подход.Но я бы не запретил это полностью: если вы тщательно рассмотрели все альтернативы и по-прежнему думаете, что !!
- это самый ясный и безопасный способ, тогда продолжайте.