if (value.compareTo(elementData[size]) >= 0) {
elementData[size + 1] = value;
size++;
} else if (value.compareTo(elementData[0]) <= 0) {
for (int i = size; i >= 0; i--) {
elementData[i + 1]= elementData[i];
}
elementData[0] = value;
size++;
}
Die allererste if-Anweisung sollte eine positive Zahl aus compareTo zurückgeben. Ich habe überprüft und bestätigt, dass es eine positive Zahl zurückgibt, jedoch nicht in den Block gelangt.Wenn Statement-Bedingung nicht übergeben wird aber sollte !? (java)
Ich vergleiche Strings, die diese "str1" "str2" ... usw. Es funktioniert gut, bis ich zu "str10" komme und es mit "str9" vergleichen muss. Es sagt, dass "str10" ist weniger als "str9" macht das Sinn?
Es passiert alle 10 Iterationen. Also sieht mein Array wie folgt aus: [str0, str1, str10 ... str19, str2, str20, str21, ... str29..etc]
Wenn 'value.compareTo (elementData [size])' einen Wert größer als 0 zurückgibt, ** ** wird ** in den Block eingetragen. Wenn es den Block nicht eingibt, ist der Wert kleiner als 0. Welche Arten von "value" und "elementData" gibt es? –
Weißt du nicht, dass 1 vor 9 kommt? – stark
Wert- und Elementdaten sind beide vergleichbare Objekte. – igork