Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException
вообще.
См. также: A хороший список лучших практик
Я бы добавил, очень важно, хорошо использовать модификатор final
. Использование "окончательной" модификатор, когда это применимо в Java
Сводка:
final
для обеспечения хорошей инициализации. @NotNull
и @Nullable
if("knownObject".equals(unknownObject)
valueOf()
поверх toString (). StringUtils
StringUtils.isEmpty(null)
. На самом деле ваше выражение files+=( "$input" )
добавляет элементы в ваш массив, но вы не итерируете его правильно.
Ваш последний цикл должен быть:
for f in "${files[@]}"; do
echo "element is: $f"
done
$ a+=(1)
$ a+=("hello")
$ a+=(3)
$ for i in "${a[@]}"; do echo "$i"; done
1
hello
3
$files
относится к главе массива? – user 4 November 2014 в 17:30$files
получает ваш первый элемент из массива. – anubhava 4 November 2014 в 17:32$var
эквивалентно${var[0]}
. – fedorqui 4 November 2014 в 17:48