Java string.lastindexof (str, index) не в моем пониманииJAVA

Программисты JAVA общаются здесь
Anonymous
Java string.lastindexof (str, index) не в моем понимании

Сообщение Anonymous »

string function string.lastindexof (str, index) для меня не совсем ясен.
Давайте примером упростите < /p>
String a1 = "1231231";
String s1 = "23";
int i1 = a1.length() - 3; //=4
int x = a1.lastIndexOf(s1, i1);
System.out.println(x); //will output 4
< /code>
Основная строка имеет длину 7 ChARS в этом примере, ищет также строку с длиной 2 ChARS по конкретному индексу, но выводит выводы, найденные в положении 4, где у меня нет реального представления о том, как он вычисляется Java, поскольку она должна искать назад, а не пересылать.
как в примере < /p>
//0123456
String a1 = "1231231";
< /code>
В 4 -м индексе есть char 2, но, поскольку он должен искать назад, а не вперед, поэтому следующий ожидаемый индекс составляет 1, а не 4, но, как похоже, Java выходит из поиска в обратном направлении, но иногда выглядит как в этом примере. />https://github.com/bpupadhyaya/openjdk- ... java#l1793
public int lastIndexOf(String str) {
return lastIndexOf(str, value.length);
}
< /code>
Очевидно, если не предоставлен индекс, то, поскольку индекс используется полной длиной основной строки.
Для этого примера это будет 7 Chars. В таком случае предполагалось, что индекс играет роль ограничителя строки, но это было тоже неправильно. //0123456
String a1 = "1231231";
< /code>
Но это тоже было неправильно. Но функция java string.lastIndexof (str, value.length); Похоже, работает со своей собственной конкретной логикой, которая не позволяет такого рода логике, даже если в первую очередь предполагается, проверяя источники, что этот параметр LastIndexof (str, value.length); указывает на максимальную длину основной строки.
Я не говорю на самом деле, что поведение не в моем понимании, высоко здесь, более или менее, вопрос в какой ситуации может потребоваться с помощью индекса? < /p>

Подробнее здесь: https://stackoverflow.com/questions/794 ... erstanding

Вернуться в «JAVA»