字符串比较会导致8大于13,原因在于字符串比较是基于下标的char比较的;
Integer的比较==同样的值是false;其余的几种方法都可以;
package org.lambda;
public class StringCompareTest {
public static void main(String[] args) {
StringCompareTest stringCompareTest = new StringCompareTest();
stringCompareTest.compareString("8","13");
stringCompareTest.compareInteger();
}
public void compareString(String a, String b){
int i = a.compareTo(b);
System.out.println(i);
}
public void compareInteger(){
for(int i =125; i < 130; i++){
Integer i1 = new Integer(i);
Integer i2 = new Integer(i);
System.out.println(i1.compareTo(i2));
}
System.out.println("------------------------------");
for(int i =125; i < 130; i++){
Integer i1 = new Integer(i);
Integer i2 = new Integer(i);
System.out.println(i1.equals(i2));
}
System.out.println("------------------------------");
for(int i =125; i < 130; i++){
Integer i1 = new Integer(i);
Integer i2 = new Integer(i);
System.out.println(i1.intValue() == i2.intValue());
}
System.out.println("------------------------------");
for(int i =125; i < 130; i++){
Integer i1 = new Integer(i);
Integer i2 = new Integer(i);
System.out.println(i1 == i2);
}
}
}