Начиная с 2.0.0-beta01
и более поздних версий androidx.lifecycle
, параметр onChanged
больше не содержит аннотацию @Nullable
.Изменения вызваны запросом на улучшение , любезно предоставленным OP.
package androidx.lifecycle;
/**
* A simple callback that can receive from {@link LiveData}.
*
* @param <T> The type of the parameter
*
* @see LiveData LiveData - for a usage description.
*/
public interface Observer<T> {
/**
* Called when the data is changed.
* @param t The new data
*/
void onChanged(T t);
}
Можно с уверенностью предположить, что значение не является нулевым в Kotlin, когда T не имеет значения NULL.?
Зависит от того, что вы тот, кто создал подкласс LiveData
, или просто используете существующий MutableLiveData
, и вы разрабатываете его так, чтобы он никогда не возвращал ноль, тогда можно с уверенностью предположитьчто он никогда не вернет ноль.
Для случая, когда LiveData
неявно создан не вами, особенно теми, кто LiveData
предоставлен библиотеками, я бы не предположил, что он ненулевой, если в документации библиотеки его не упоминается.