Я выполняю функцию (listOf(matchUid, first_name, gender, matchBio, age).any { it == null }
), которая проверяет, является ли какая-либо из переданных переменных null
:
private fun getMatchData(doc: DocumentSnapshot){
val matchUid = if (isUser1) doc.getString("user2") else doc.getString("user1")
val first_name = if (isUser1) doc.getString("user2name") else doc.getString("user1name")
val gender = if (isUser1) doc.getString("user2gender") else doc.getString("gender")
val matchBio = if (isUser1) doc.getString("user2bio") else doc.getString("user1bio")
if ( listOf(matchUid, first_name, gender, matchBio, age).any { it == null } ) return goOffline()
if (matchUid == null) return goOffline()
if (!isUser1) Group = Group().apply {
id = doc.id
user1 = matchUid
user2 = user.uid
match = User(matchUid, first_name, gender, null, true)
}
Несмотря на то, что он проверяет это, first_name
и gender
подчеркнуты красным цветом компилятором из-за нулевой безопасности. matchUid
не имеет красной линии, потому что я явно проверяю наличие нуля в строке ниже.
Почему компилятор все еще выдает нулевое предупреждение после того, как я его уже проверил?
listOf(...)
. - person Thomas   schedule 17.10.2019