Object类
- 特点
1.Object类是多有类的超类(所有类都是 Object类的子类)
2.Object类中的放阿都会继承到子类中
【toString】
-
功能:将对象变成字符串
我们打印对象的时候就会先调用对象的toString方法变成字符串,然后再打印输出。 -
Object中的toString方法
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
说明:
1.该方法就是在拼接字符串
2.getClass().getName()
获取全类名(包名+类名)
3.Integer.toHexString(hashCode());
将哈希值返回的哈希值变成十六进制的形式
4.字符串格式:包名+“@”+十六进制哈希值
equals方法
public boolean equals(Object obj): 用来比较两个对象是否相同
- Object中的源码
public boolean equals(Object obj) {
return (this == obj);
}
说明:
1.this是当前调用方法的对象
2.obj是传入的对象
3.默认逻辑势比较两个对象是否相同
toString和equals的重写
- 通常Object中的这两种方法不能满足程序员的需求,我们想要对于对象中的内容也进行比较,所以要对这靓照功能方法进行重写
-IDE重写toString方法
快捷键 Alt+Insert :选择toString
-IDE重写equals方法
快捷键 Alt+Insert :选择equals and hashcode
本地方法
Object中或者其他类中存在含有native的方法,称为本地方法。
这种本地方法主要是为了和底层JVM中C或者C++代码库进行交互的。这种方法相当于直接调用了底层的代码,效率会非常高。
Objects
这是JDK7开始的工具类,里面的方法都是静态方法,这个类的方法实现了避免空指针异常的方法
public static boolean equals(Object a, Object b):判断两个对象是否相等。避免空指针
我们比较两个对象是很容易发生空指针异常的,我们为了避免空指针异常,就会调用Objects.equals(对象1,对象2)
特别注意:调用方法的对象,不能为null,否则就会报NullPointerException异常。为了避免该异常使用Objects的equals方法进行比较两个对象。
Date日期时间
【概述】
功能:Date表示日期时间,精确到毫秒
创建系统当前的时间对象
Date d1 = new Date();
指定0毫秒的时间,Thu Jan 01 08:00:00 CST 1970
Date d1 = new Date(0);
常用方法
public long getTime() 把日期对象转换成对应的毫秒值
public void setTime(long time)把方法参数给定的毫秒值设置个日期对象
DateFormat日期格式化类
DateFormat类是抽象类,是日期格式化类的父类而且是抽象类,主要定义了格式化 和解析的功能
格式化:Date 转 String
解析: String 转Date
- 一般情况下我们使用它的子类SimpleDateFormat作为创建对象使用
- 构造方法
SimpleDateFormat(String pattern)
String pattern = "yyyy-MM-dd HH:mm:ss";
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
- 【方法使用】
public String Format(Date d);日期格式转化为字符串格式
public Date parse(String str);将字符串转化为Date对象
Calendar日历类
Caldendar是一个抽象类,不建议使用子类创建对象,使用其本身的静态方法
public static Calender getInstance();获取日历对象
获取当前系统时间对象
Calender cal = Calender.getI nstance();
常用方法
方法名 | 说明 |
---|---|
public int get(int field) | 获取某个字段的值。field参数表示获取哪个字段的值, 可以使用Calender中定义的常量来表示: Calendar.YEAR : 年 Calendar.MONTH :月 Calendar.DAY_OF_MONTH:月中的日期 Calendar.HOUR:小时 Calendar.MINUTE:分钟 Calendar.SECOND:秒 Calendar.DAY_OF_WEEK:星期 |
public void set(int field,int value) | 设置某个字段值 |
public void add(int field,int amount) | 为某个字段增加/减少指定的值 |
Math类
abs(int a ) 获取绝对值
ceil(double a) 向上取整
floor(double a)向下取整
pow(double a , doubble b)去a的b次幂
round(double a)四舍五入取整
System工具类
System.exit;终止当前运行的JVM
System.currentMillions();返回当前时间(以毫秒为单位)
BigInteger大整数类型
如果运算中,数据范围超过long类型后可以使用此类
该类的计算整数是不限制长度的
- 构造方法
public BigInteger(String num)
- 常用方法
add 加
substract 减
multiply 乘
divide 除
BigDecimal大浮点数类型
- 构造方法
public BigDecimal(String num);将数字变成字符串传入
- 常用方法
public static BigDecimal valueof(double num);可以保证数据的精度,底层会先将double数据变成字符串,然后再构建对象返回BigDecimal
- 常用方法
add 加
substract 减
multiply 乘
divide 除
Arrays数组工具类
- 方法
- public static void sort(int[] a):按照数字顺序排列指定的数组
- public static String toString(int[] a):返回指定数组的内容的字符串表示形式