解决方案 »
- 请问这是个什么工程
- 单态模式
- 求助
- Eclipse里如何直接调用api帮助文档?
- 关于可滚动数据集的问题,太急了,希望能得到帮助,高分
- 带包名 继承 error: cannot find symbol
- 请问:java中如何求log2N(以2为底的N的对数)?以及求sin(x),求sqrt(x)(平方根)
- 怎样将所需的java自带的包(部分,如java.xml.*,)分离出来,形成一个新包
- 为什么没声音啊
- 高分求解:利用JavaMail发送邮件时,能否做到不通过SMTP邮件服务器转交,直接将邮件发到对方邮箱中.
- 关于socket使用setSoTimeout后出现的问题(服务器老是不间断的向客户端发送消息)
- 新人求助,我这个怎么运行不起来了
import java.util.*;
class Person implements Comparable{ //实现了comparable接口,必须重写compareTo方法!!!
private String name;
private int age;
private float score;
public Person(String name,int age,float score){
this.name=name;
this.age=age;
this.score=score;
}
public String toString(){
return "姓名:"+this.name+", 年龄:"+this.age+", 成绩:"+this.score;
}
public int compareTo(Object obj){ //compareTo方法是实现
Person p = (Person)obj;
if(p.score>this.score){
return 1;
}
else if(p.score<this.score){
return -1;
}
else{
if(p.age>this.age){
return 1;
}
else if(p.age<this.age){
return -1;
}
else{
return 0;
}
}
} //compareTo方法结束
} //类结束
public class OOCompareTo{
public static void main(String []args){
Person p[] = new Person[5];
p[0] = new Person("张三 ",23,96);
p[1] = new Person("张三2",24,96);
p[2] = new Person("张三3",21,94);
p[3] = new Person("张三4",22,98);
p[4] = new Person("张三5",20,89);
Arrays.sort(p); //对数组p内的元素进行了遍历操作(排序) 默认的方法是compareTo
for(int x=0;x<p.length;x++){
System.out.println(p[x]); //输出数组元素时默认的是toString()方法
}
}
}
if(o == null){
throw new NullPointerException("参数不能为空");
}
return this.age - o.age;里面还可以加一些类型校验的代码进去
你说的settree 不知道是什么东东,可以讲详细一点,这样大家好出主意
断点的时候,可以跟到compareTo方法里面去的,这个没有问题
为什么this指代的和我O输入的是同一个变量,你的this和要对比的O是同一个对象吗?看看它的地址,是否相同
或者是由同样的构造方法构造出来的,只是属性值相同 ,给你造成了同一个对象的假象