if(line.get(count).substring(line.get(count).indexOf(p1)).equals(p1.substring(0, p1.indexOf(" ")))) {
count++;
if(line.get(count).contains(p1.substring(p1.indexOf(" ") + 1, p1.length())))
System.out.println((count-1) + " " + (line.get(count-1).indexOf(p1)) + " " + p1);
}
Строка - это список массивов размером 65008, я пытаюсь проверить имя на двух строках файла, причем первое имя появляется на одной строке и последнее имя появляется во второй строке. Однако индекс из связанного исключения возникает в первом случае if. Я не могу понять, если я сделал что-то не так, чтобы вызвать эту проблему, поскольку я пытался сравнить подстроки. Может кто-нибудь предложить способ решить эту проблему? Эти утверждения if довольно длинные, но я попытаюсь настроить их позже.String index out of bound exception in if statement
Вы уверены, что 'line.get (count)' содержит 'p1' и что' p1' содержит '' ''? – Eran
Предоставьте свой стек. –
Боковое примечание: не настраивайте свой сложный код ** после ** вы потратили часы на отладку. Убедитесь, что ** легко ** читать и понимать с самого начала. Потому что тогда ... вам может не потребоваться много часов отладки и обращение к SO, чтобы получить помощь в этом. Кроме того: пожалуйста, отступите на секунду; и перечитайте свой вопрос. Вы действительно думаете, что проявляете уважение к этому сообществу, говоря: «Я знаю, мой код трудно читать, и я исправлю это позже, а пока, дорогой интернет, пожалуйста, помогите мне найти ошибку в этой уродливой части спагетти здесь » – GhostCat