Java String.Lastindexof (STR, Index) ist nicht mehr verständnisvollJava

Java-Forum
Anonymous
 Java String.Lastindexof (STR, Index) ist nicht mehr verständnisvoll

Post by Anonymous »

Die Java -Funktionsstring.lastIndexof (str, Index) ist für mich nicht vollständig. 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>
Die Hauptzeichenfolge hat in diesem Beispiel die Länge von 7 Zeichen und sucht auch nach einer Zeichenfolge mit 2 Zeichen Länge nach spezifischem Index, aber es gibt die gefundene Zeichenfolge in Position 4 aus, wobei ich keine wirkliche Vorstellung davon habe, wie sie von Java berechnet wird, da sie nach hinten gesucht und nicht weiterleitet. //0123456
String a1 = "1231231";
< /code>
Bei dem 4. Index gibt es char 2, aber da es rückwärts sucht und nicht weiterleitet, ist der nächste erwartete Index 1 und nicht 4, aber wie er sieht aus, dass Java nicht rückwärts sucht. />https://github.com/bpupadhyaya/openjdk- ... java#l1793
public int lastIndexOf(String str) {
return lastIndexOf(str, value.length);
}
< /code>
Offensichtlich, wenn kein Index angegeben wird, wird der Index in voller Länge der Hauptzeichenfolge. In einem solchen Fall ging davon aus, dass der Index die Rolle des String -Größenbegrenzers spielt, aber auch falsch angenommen wurde. //0123456
String a1 = "1231231";
< /code>
Aber das war auch falsch angenommen. Aber Javas Funktionsstring.lastIndexof (str, value.length); scheint mit seiner eigenen spezifischen Logik zu funktionieren, die diese Art von Logik nicht zulässt, auch wenn zunächst die Überprüfung der Quellen angenommen wird, die dieser Parameter lastIndexof (str, value.Length); zeigt auf die maximale Länge der Hauptschnur.>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post