hasCode();在Object类中,因此每个对象都有一串散列码,表示存储的地址
class Person{
private String name;
private int age;
private int score;
person(String name,int age,int score){
this.name=name;
this.age=age;
this.score=score;
}
public String toString(){
return this.age+this.name;
}
public boolean equals(Object obj){
return false;}
public int hashCode(){
return this,name.hashCode()+100;
}}
public class{
public static void main(String args[]){
Map m=new HashMap();
m.put(new Person("张三",10),"张三 ");
System.out.println(m.get(new Person("张三",10)));}}
对象克隆:
在Person类中必须实现Clonable接口,在类中复写clone()方法。
public Object clone(){
return super.clone();
}
main()中:
Person p=new Person("张三",20);
Person p1=(Person)p.clone;
____________________________________________________________________________________________________________________________________
比较器:Arrays()方法
对数组进行排序:Arrays.sort(i);
对象数组中的对象类必须实现Comparable接口,复写comparaTo()方法
让分数高-------》低
分数相同,则年龄----------------》低
public int compareTo(Object obj){
Person p=(Person)obj;
if(p.score>this.score)
return1;
else if(p.score<this.score){
return -1;}
else{if(p.age>pthis.age)
return1;
else if(p.age<this.age)
return -1;
else
return 0;}
}
Class类:
由对象得到他的类:
Person p=new Person();
p.getClass().getName();
由一个字符串的到一个类:
class c=Class.forName("Person");
Person p=(Person)c.newInstance();//实例化对象
但Person有构造方法。
Constructor c1=c.getConstructors()[0];
Object obj[]={"张三”,(integer)20};
Person p=(Person)c1.newInstance(obj)