0

我已经实现了一项功能来检查一个 url 是否比另一个更新,以便浏览整个网站,例如:page1、page2、page3。

但是当我在 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( 的第一个数字11) 小于9。如果您使用它0911它将起作用。为了使其工作,提取数字并通过比较整数而不是字符来比较数字。

于 2013-09-09T21:40:53.997 回答
0

那是因为 9 大于 1。

您需要对“=”之后的部分进行子串化并将其转换为int,然后进行比较。

于 2013-09-09T21:41:10.430 回答
0

简单的东西。9 > 1. 解析 URL 直到 =。将该字符转换为 Int。然后,做同样的事情。你会得到你想要的输出!

于 2013-09-09T21:50:29.443 回答