Чтобы исключить исключительное исключение индекса массива, следует использовать инструкцию расширенный- for
, где и когда они могут.
Основная мотивация (и использовать), когда вы выполняете итерацию, и вам не требуются сложные шаги итерации. Вы не могли бы использовать расширенный for
для перемещения назад в массиве или только для итерации на каждом другом элементе.
Вы гарантированно не исчерпали элементы для повторения при этом, а ваш [исправленный] пример легко конвертируется.
Код ниже:
String[] name = {"tom", "dick", "harry"};
for(int i = 0; i< name.length; i++) {
System.out.print(name[i] + "\n");
}
... эквивалентен этому:
String[] name = {"tom", "dick", "harry"};
for(String firstName : name) {
System.out.println(firstName + "\n");
}
В Вашем случае, удаляющем./, должен решить проблему. У меня был другой случай, где я использовал каталог из родительского каталога и , докер может только получить доступ к подарку файлов ниже каталога, где Dockerfile существующий поэтому, если у меня есть структура каталогов/root/dir и Dockerfile/root/dir/Dockerfile
, я не могу скопировать, делают следующий
COPY root/src /opt/src
Я также сталкивался с тем же, я переместил свой файл докера в корень проекта. тогда это работало