Person p1=new Person("wan",11);
Person p2=new Person("wan",11);
boolean b=p1==p2;
boolean b1=p1.equals(p2);
system.out.println(b); //false
system.out.println(b1); //false
hash对每个对象来说是“唯一”。。
// 对象hashcode相等,equals一定为true?
不一定
// equals true ,hashcode一定相等?
不一定
一. ==和equals
==;//比较堆地址是否是同一个对象Person p1=new Person("wan",11);
Person p2=new Person("wan",11);
boolean b=p1==p2;
boolean b1=p1.equals(p2);
system.out.println(b); //false
system.out.println(b1); //false
hash对每个对象来说是“唯一”。。
// 对象hashcode相等,equals一定为true?
不一定
// equals true ,hashcode一定相等?
不一定
equals;//比较内容(同一个类的对象,对象的属性)
二. 引用数据类型,二维数组
引用数组表现出很多类的特征,但是又不完全是Java 实质没有二维数组
二维数组要用 Arrays.deepequals(arr1,arr2);
clone 深度一维数组
三. 异常机制
1.运行时异常(非受检异常)2.受检异常
使用少量的代码实现对代码的优化处理
try{
存在异常的代码块 //出现异常 生成一个异常对象
}
catch(Exception e){
//异常信息打印出来
e.printStackTrace();
//抛出.....
}
finally{
........... //总会执行,通常作代码最后一步动作,关闭数据库连接对象
}
异常 耗费内存
如果遇到return。 finally 先执行,在return
子类的异常不能在父类的异常后面
四.throws和throw
throws:抛出异常throw:抛出具体的异常