mport java.util.Arrays;class Cla implements Comparable {
int num;
String name; Cla(int num, String name) {
this.num = num;
this.name = name;
} public String toString() {
return "num:" + num + ",姓名:" + name;
} public int compareTo(Object o) {
Cla s = (Cla) o;
return num > s.num ? 1 : (num == s.num ? 0 : -1);
} /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Cla[] s = { new Cla(2, "zhang"), new Cla(1, "li"), new Cla(5, "z") };
Arrays.sort(s);
for (int i = 0; i < s.length; i++) {
System.out.println(s);
} }}
为什么结果是:
[La.Cla;@de6ced
[La.Cla;@de6ced
[La.Cla;@de6ced
int num;
String name; Cla(int num, String name) {
this.num = num;
this.name = name;
} public String toString() {
return "num:" + num + ",姓名:" + name;
} public int compareTo(Object o) {
Cla s = (Cla) o;
return num > s.num ? 1 : (num == s.num ? 0 : -1);
} /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Cla[] s = { new Cla(2, "zhang"), new Cla(1, "li"), new Cla(5, "z") };
Arrays.sort(s);
for (int i = 0; i < s.length; i++) {
System.out.println(s);
} }}
为什么结果是:
[La.Cla;@de6ced
[La.Cla;@de6ced
[La.Cla;@de6ced
public int compare(Cla cla1, Cla cla2) {
return cla1.getName().compareTo(cla2.getName());
}
}class CalNumComparator implements Comparator<Cla> {
public int compare(Cla cla1, Cla cla2) {
return new Integer(cla1.getNum()).compareTo(cla2.getNum());
}
}public class Cla implements Comparable {
private int num;
private String name; Cla(int num, String name) {
this.num = num;
this.name = name;
} public String toString() {
return "num:" + num + ",姓名:" + name;
} public int compareTo(Object o) {
Cla s = (Cla) o;
return num > s.num ? 1 : (num == s.num ? 0 : -1);
} public static void main(String[] args) {
Cla[] s = { new Cla(2, "zhang"), new Cla(1, "li"), new Cla(5, "z") }; System.out.println("------------------------------------------------");
Arrays.sort(s);
for (int i = 0; i < s.length; i++) {
System.out.println(s[i]);
} System.out.println("------------------------------------------------");
Arrays.sort(s, new CalNumComparator());
for (int i = 0; i < s.length; i++) {
System.out.println(s[i]);
} System.out.println("------------------------------------------------");
Arrays.sort(s, new CalNameComparator());
for (int i = 0; i < s.length; i++) {
System.out.println(s[i]);
} } public int getNum() {
return num;
} public void setNum(int num) {
this.num = num;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
}}
package test;
import java.util.Arrays;public class Cla implements Comparable {
int num;
String name;
Cla(int num, String name) {
this.num = num;
this.name = name;
}
public String toString() {
return "num:" + num + ",姓名:" + name;
}
public int compareTo(Object o) {
Cla s = (Cla) o;
return num > s.num ? 1 : (num == s.num ? 0 : -1);
}
public static void main(String[] args) {
Cla[] s = { new Cla(2, "zhang"), new Cla(1, "li"), new Cla(5, "z") };
Arrays.sort(s);
for (int i = 0; i < s.length; i++) {
System.out.println(s[i].num+" "+s[i].name);
}
}}
System.out.println(s[i]);
}
数组的toString方法是object的toString方法
System.out.println(s[i]);
}
就可以输出lz想要的结果了。