Они на самом деле совсем другие.next()
принимает первое выдаваемое значение и впоследствии отменяет подписку.
single()
, с другой стороны, ожидает, что именно один элемент будет выделен в первую очередь.Если это не так, и испускается ноль или более элементов, то выдается сигнал об ошибке.
Какой из них выбрать, зависит от вашего варианта использования.Если источник гарантированно излучает ровно один элемент, тогда вы можете использовать single()
.В противном случае используйте next()
.