时间:2021-05-20
String类下compareTo()与compare()方法比较
这两个方法经常搞混淆,现对其进行总结以加深记忆。
下面我们写一来看看上面两个方法是怎么用的:
首先,写一个User类,代码如下:
public class User implements Comparable<Object> { int id; String name; public User(int id, String name) { this.id = id; this.name = name; } /* * Getters and Setters */ public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public int compareTo(Object o) { if (this == o) { return 0; } else if (o != null && o instanceof User) { User u = (User) o; if (id <= u.id) { return -1; } else { return 1; } } else { return -1; } }}接下来,我们写一个测试类Test:
public class Test{ //编写Comparator,根据User的id对User进行排序 private static final Comparator<User> COMPARATOR = new Comparator<User>() { public int compare(User o1, User o2) { return o1.compareTo(o2); //运用User类的compareTo方法比较两个对象 } }; public static void main(String[] args) { ArrayList<User> student = new ArrayList<User>(); User user1 = new User(1,"yueliming"); User user2 = new User(2,"yueliming"); Collections.sort(student, COMPARATOR);//用我们写好的Comparator对student进行排序 for(int i=0;i<student.size();i++){ System.out.println(student.get(i).getId()); } }}感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
BigDecimal和0比较大小调用BigDecimal中的compareTo方法,如:inti=bigDecimal.compareTo(BigDecimal
StrComp函数返回一个表明字符串比较结果的值。StrComp(string1,string2[,compare])参数string1必选项。任意有效的字符串
方法一:实现Comparator接口,并重写compare方法实体类代码:importjava.util.Comparator;/***学生类方法一*实现Com
关键点:将List内存储的对象实现Comparable类,重写它的compareTo()方法即可Bean:packagechc;publicclassStuVo
关键点为什么不能使用String.compareTo方法来比较客户端版本号?举个例子,之前客户端版本号为:9.9.9,而服务器端最新的客户端版本号为:10.0.