java中 compareTo()的程序代码及用法
展开全部
compareTo()是Comparable接口中的方法,
compareTo()就是比较两个值,如果前者大于后者,返回1,等于返回0,小于返回-1,int型可以直接比较,可以不用compareTo比较,如果声明的是Date、String、Integer或者其他的,可以直接使用compareTo比较。
示例代码:
public class Test {
public static void main(String[] args) {
String str1 = "1";
String str2 = "2";
System.out.println(compareTo(str1,str2));
}
public static int compareTo(String str1,String str2) {
return str1.compareTo(str2);
}
}
注意事项:
1、模型必须实现Comparable<T>接口
2、compateTo方法内必须做非空判断(规范问题),当然int类型就不用了。
compareTo()就是比较两个值,如果前者大于后者,返回1,等于返回0,小于返回-1,int型可以直接比较,可以不用compareTo比较,如果声明的是Date、String、Integer或者其他的,可以直接使用compareTo比较。
示例代码:
public class Test {
public static void main(String[] args) {
String str1 = "1";
String str2 = "2";
System.out.println(compareTo(str1,str2));
}
public static int compareTo(String str1,String str2) {
return str1.compareTo(str2);
}
}
注意事项:
1、模型必须实现Comparable<T>接口
2、compateTo方法内必须做非空判断(规范问题),当然int类型就不用了。
展开全部
用来实现Comaprable接口,比如现在有个学生类,想通过其中score字段来让两个学生类的实例实现排序 ,可以这么写
import java.util.Arrays;
public class Zhidao{
public static void main(String[] args) {
Student[] stu = {new Student("Tom", 90), new Student("Jerry", 95), new Student("Kate", 70), new Student("Jack", 98)};
System.out.println("Before:");
for(Student s : stu) {
System.out.println(s.getName() + " : " + s.getScore());
}
Arrays.sort(stu);
System.out.println("After:");
for(Student s : stu) {
System.out.println(s.getName() + " : " + s.getScore());
}
}
}
class Student implements Comparable<Student> {
private String name;
private int score;
public Student(String name, int score) {
this.setName(name);
this.setScore(score);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
@Override
public int compareTo(Student stu) {
return score - stu.getScore();
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看jdk源码和帮助文档
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询