1.Object: 所有类的父类,那么Object的方法是其他所有类都具有的。
2.hashCode(): 把对象通过某种算法变成一个数字, 每个对象的hashcode值不一样, hashCode值就是对象的内存地址值
- toString(): 我们在直接打印对象的时候,默认调用的就是toString()方法。 全限定名 + @ + 内存地址值(16进制)
- equals(): 底层源代码就是==, 只能比较引用数据类型。
== 比较基本数据类型,比的是值
== 比较引用数据类型,比的是地址值
- finalize() JVM 垃圾回收有关系
3.面试题: ①equals和==有什么区别
equals(): 底层源代码就是==, 只能比较引用数据类型。
== 比较基本数据类型,比的是值
== 比较引用数据类型,比的是地址值
②final、finally、finalize的区别
final: 变量:值不能发生变化
类: 不能被继承。(太监类)
方法:不能被重写.
finally: try...catch...finally(异常)的时候用,不管出不出异常,这里面的代码都会执行
finalize() JVM 垃圾回收有关系
4. String:是一个用final修饰的类
构造方法里面,参数可以是字节数组、字符数组、字符串
split:切割字符串
shrim
replace:替换字符串
subString:截取字符串下标从start开始到end结束(包头不包尾)
length:取到该String的长度
isEmpty:判断是否为空
getBytes:转换成bytes型数组
valueOf:(小数/整数)
5.String、StringBuffer、StringBuilder的区别
String:执行速度最差,线程安全,把数据存放在常量池中,由final修饰
使用场景:少量字符串操作
StringBuffer:执行速度其次,线程安全
使用场景:多线程环境下的大量操作
StringBuilder:执行速度最高,线程不安全
使用场景:单线程环境下大量操作
6.包装类:对基本数据类型的加强。
Integer整数 字符串和数字的转换
Character字符 isDigit判断是否是数字
7.Math
ceil:返回最小值
floar:返回最大值
round:四舍五入成整数
8.Date
在构造方法里面,无参(当前时间)/毫秒值
getTime()毫秒值
setTime把时间变成毫秒值对应的时间
System.currentTimeMillis();获取当前时间的毫秒值
new Date(); 获取当前时间的毫秒值
9.SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss")
parse(字符串)
format(日期类型)
10.Random
nextInt(整数) 0-整数
11.Calendar日历 抽象类,不能new
主要对日期进行加减运算
add()+月份
日历和Date的转换
①日历转换成Date:
Calendar cal = Calendar.getInstance();
Date date = cal.getTime;
②Date转换成日历
Date date = new Date();
Calendar cal = Calendar.getInstance();
Cal.setTime(date);