Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException
вообще.
См. также: A хороший список лучших практик
Я бы добавил, очень важно, хорошо использовать модификатор final
. Использование "окончательной" модификатор, когда это применимо в Java
Сводка:
final
для обеспечения хорошей инициализации. @NotNull
и @Nullable
if("knownObject".equals(unknownObject)
valueOf()
поверх toString (). StringUtils
StringUtils.isEmpty(null)
. ответ ybo был бы моим первым ответом также. Выражение запроса, эквивалентное из этого:
var query = from a in computeAList()
from b in a.Alist
select b.C;
Ради полноты, другие ответы в этом потоке являются вариациями на ту же тему.
От ybo (тот же самый запрос, выраженный как запись через точку):
var query = listOfA.SelectMany(a => a.Alist, (a, b) => b.C);
От Ray Hayes (включая оператор Where; я переформатировал немного):
var query = listOfA.SelectMany(a => a.AList, (a, b) => b.C)
.Where(c => c.Length > 0);
У меня также был бы подобный ответ, моя единственная модификация должна была добавить, где пункт, чтобы не иметь пустые строки (где C пуст):
listOfA.SelectMany( a => a.AList, (a, b) => b.C ).Where( c => c.Length > 0 );
android:clickable="true"
к представлению
– backslashN
22 June 2017 в 20:01