两个对象进行比较,利用comparaeTo方法。下面介绍一下String对象、int值、及自定义类对象的比较方法。
1.String类对象
String类对象比较比较的是字符串的ASCii码值。两个字符串的ASCii码值相减,
值<0,则第一个字符串在前
值=0,则两个字符串相等
值>0,则第一个字符串在后
eg:
String str1="abc";
String str2="xyz";
int i=str1.compareTo(str2);
程序执行结果:i<0(具体为一个负值,此处不再写明),由此可见str1在前。
现在有一个问题,如果两个字符串的第一个字母相同,该怎么比较?如果第一个相同,则比较 第二个;第二个也相同,则比较第三个。。。
2.int数据类型
int数据类型比较,为两个整数直接相减。
3.自定义类对象比较
a.首先要引入Comparable接口并实现
b.在类中重写compareTo方法
eg:
public class PrStudent implements Comparable{//需要实现Comparable接口,并指明泛型类型 private int id; private int age; private String name; public PrStudent(int id, int age, String name) { super(); this.id = id; this.age = age; this.name = name; } @Override public int compareTo(PrStudent o) {//重写compareTo方法 // TODO Auto-generated method stub int value=0; value=this.id-o.id; if(value==0) { value=this.age-o.age; if(value==0) { value=this.name.compareTo(o.name); } } return value; } }