java接口回调测试

使用java.util.Arrays.sort()方法可以对基本类型的数组进行排序,也可以对对象数组排序。
在对对象数组排序时,需要此对象的类实现了Comparable接口(应该是回调接口),并实现compareTo方法。

import java.util.Arrays;
public class InterfaceCallBack
{
public static void main(String args[]){
//基本类型排序测试
int[] arrNum = {3,4,2,6,1};
printNum(arrNum);
Arrays.sort(arrNum);
printNum(arrNum);
System.out.println(“===================================”);
//对象类型排序
Student[] arrStu = {new Student(“ldt1”,15),new Student(“ldt2”,12),new Student(“ldt3″,17)};
printStu(arrStu);
Arrays.sort(arrStu);
printStu(arrStu);
}
//基本类型显示
public static void printNum(int[] arrNum){
int len = arrNum.length;
for(int i=0;i < len;i++){
System.out.print(arrNum[i]+”\t”);
}
System.out.println();
}
//对象类型显示
public static void printStu(Student[] arrStu){
for(Student stu : arrStu){
System.out.println(stu.age+”:”+stu.name);
}
System.out.println(“===================================”);
}
}
//定义Student类并实现Comparable接口
class Student implements Comparable//泛型
{
public int age;
public String name;
//构造器
public Student(String name,int age){
this.name = name;
this.age = age;
}
//实现compareTo方法
/**
*返回值小于0,当前对象小于参数对象
*返回值大于0,当前对象大于参数对象
*返回值等于0,当前对象等于参数对象
*/
public int compareTo(Student stu){
if(this.age < stu.age){ return -1; }else if(this.age > stu.age){
return 1;
}else{
return 0;
}
}
}

© 2014, 李德涛博客. 版权所有.

发表评论

电子邮件地址不会被公开。 必填项已用*标注