一:object
1.概念
object类是所有对象的父类
2.常用方法
(1)boolean equals(Object obj) 对象和参数对象比较大小,默认是比较内存地址,如果要比较对象的属性,可以重写该方法
(2)int hashCode() 返回该对象的哈希码值。
(3)String toString() 返回该对象的字符串表示。
二:String
特点是底层封装了一个char[]数组的对象
常用方法
length() 返回该字符串的长度
charAt() 返回指定下标对应字符值
substring() 从一个字符串截取一个字符串(含头不含尾)
valueOf() 返回字符串的值
equals() 判断两个字符串是否相等
三:StringBuffer/StringBulider的区别
- 首先说运行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer > String
- 再来说线程安全,在线程安全上,StringBuilder是线程不安全的,而StringBuffer是线程安全的
- 内部字符数组默认初始容量是16,如果大于16会尝试将扩容,新数组大小原来的变成2倍+2,容量如果还不够,直接扩充到需要的容量大小。
- String:适用于少量的字符串操作的情况
StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况
StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况
四:日期工具SimpleDateFormat
可以把Date对象格式化成字符串,也可以日期字符串解析成Date对象
SimpleDateFormat s =new SimpleDateFormat("yyyy-MM-dd");
Date date = s.parse(birth);
//format(Date):把Date格式化成字符串
//parse(String):把String解析成Date
五:泛型约束
泛型,其实就是一个『语法糖』,本质上就是编译器为了提供更好的可读性而提供的一种小手段,小技巧,虚拟机层面是不存在所谓『泛型』的概念的。
标志<> 。常用来约束集合中的元素类型。并且能把报错时机提前。
作用:
- 通过泛型的语法定义,约束集合元素的类型,进行安全检查,把错误显示在编译期
- 代码通用性更强
- 泛型可以提升程序代码的可读性,但它只是一个语法糖(编译后这样的东西就被删除,不出现在最终的源代码中),对于JVM运行时的性能是没有任何影响的。
BigDecimal/BigInteger类
1、在java运算中,浮点数运算会不精确。解决方案就是BigDecimal。
2、在java运算中,可能会有超大整数运算,超出了long范围。解决方案就是BigInteger
创建对象
BigDecimal(double val)
BigDecimal(String val) //建议使用 String类型 的构造方法
常用方法
BigDecimal add(BigDecimal augend) //加法运算:
BigDecimal multiply(BigDecimal multiplicand) //乘法运算:
BigDecimal subtract(BigDecimal subtrahend) //减法运算:
divide(BigDecimal bd,保留位数,舍入方式)//除不尽时使用 除法运算:
BigDecimal setScale(保留位数,舍入方式)//同上
BigDecimal pow(int n):求数据的几次幂