Что было бы лучшим способом обработки нуля, если бы у нас был senario, как показано ниже
Самое простое решение для этого в вашей текущей схеме - сделать это с помощью оператора if
.
Это не значит, что это лучший способ «справиться» с этой проблемой, а скорее лучший способ справиться с . Во-первых, это никогда не позволяет списку находиться в нулевом состоянии.как также упоминалось в комментариях.
Наличие пустого списка в качестве значения по умолчанию, это сэкономит вам огромное количество if
проверок вокруг вашей кодовой базы в зависимости от того, сколько раз используется getUsers()
исамое главное, вам не придется беспокоиться о NullPointerExeception
, потому что они никогда не должны возникать.
С другой стороны, всякий раз, когда вы, кажется, видите себя вызывающим stream()
в некоторой коллекции, а затем немедленно вызывающим forEach
ты должен понять, что это неправильно;1) в том смысле, что вы можете легко вызвать forEach
непосредственно в списке, т.е. studentsByCourseRoster.getUsers().forEach(...)
2) потоки и побочные эффекты просто не работают вместе.