0

ページ1、ページ2、ページ3などのWebサイト全体を通過するために、あるURLが他のURLよりも新しいかどうかを確認する機能を実装しました。

しかし、JavaでcompareTo関数を使用している場合、場合によっては良い結果が返されないことがあります。チェックして、助けてください!

String someString1 = "http://view-inventory.aspx?_page=9";
String someString2 = "http://view-inventory.aspx?_page=11";

int comparisonResult = someString2.compareTo(someString1);

System.out.println("Comparison result:"+comparisonResult);


if(comparisonResult==0){
    System.out.println("We're equal");
}
else if(comparisonResult>0){
    System.out.println("Some one is bigger");
}
else {
    System.out.println("Some one is smaller");
}

page=8 と page=9 を比較すると正常に動作しますが、上記の例 (page=9 と page=10) では動作しません:(

4

3 に答える 3

1

それは1( の 1 桁目11) が より小さいからです9。使えばうまくいき09ます11。機能させるには、数値を抽出し、文字ではなく整数を比較して数値を比較します。

于 2013-09-09T21:40:53.997 に答える
0

これは、9 が 1 よりも大きいためです。

「=」の後の部分を部分文字列にして int にキャストし、比較する必要があります。

于 2013-09-09T21:41:10.430 に答える