Java String、StringBuffer、StringBuilder

来源:互联网 发布:淘宝推广平台哪个好 编辑:程序博客网 时间:2024/05/21 11:07

final
finaly
finalize 当垃圾回收装置确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。

==和equals的区别

==用于java基本类型比较内容是否相同。Java引用类型使用==是在判断2个对象是否是同一个对象。equals 用于java引用类型比较内容是否相同

equals和hashCode

equals判断相等的2个对象,hashCode一定相等hsahCode判断相等的2个对象,equals不一定相等。放入容器时判断相等,是先判断hashCode是否相等,相同不存入容器。不相同判断equals相同,equals相同不放入容器。

浅复制和深复制

String和StringBuffer、StringBuilder的区别。

1、String是不可变类。StringBuffer可变。2、String复写了父类的equals方法,可以比较两个字符串中内容是否相同,而StringBuffer则没有复写。3、String连接两个字符串用 + ,StringBuffer则用append4、StringBuffer是线程安全的,可以由多个线程并发访问,StringBuilder是线程不安全的(单线程的)。

Math

BigDecimal帮助我们在要求高精度的场合使用    BigDecimal b1 = new BigDecimal("21.5421");    BigDecimal b2 = new BigDecimal("2.3433");    System.out.println(b1.add(b2));    System.out.println(b1.subtract(b2));    System.out.println(b1.multiply(b2));    System.out.println(b1.divide(b2,4));double存储使用的是科学计数法,他不能准确的存储数据,只能存储近视值。所以运算结果也是近视值,不精确。