Object类
概述:超类(基类),所有类都直接或者间接继承它
常用方法
1. getClass()
返回引用出存储的实际对象类型
2. hashCode()
- 返回该对象的十进制的哈希码值
- 哈希值是哈希算法根据对象的地址或者字符串或者数字计算出来的int类型的数值
- 哈希值并不唯一,只能尽量对对象类型判断做出保证
3.toString()
- 返回该对象的字符串形式
- 可以根据需求进行覆盖
4. equals()方法
- 默认比较两个对象地址是否相同
- 可根据实例进行覆盖,比较实例内容是否相同
重写equals
-
先对地址进行判断,若地址相同则直接返回true。
-
对传入的类型进行非空判断
-
判断两个对象类型是否一致
-
强制类型转换
-
对属性进行比较
5.finalize()方法
-
当对象被判定为垃圾对象时,由JVM自动调用此方法,用以标记垃圾对象,进入回收队列。
-
垃圾对象:没有有效引用指向此对象时,为垃圾对象。
-
垃圾回收: 由GC销毁垃圾对象,释放数据存储空间。
-
自动回收机制:JVM的内存耗尽,一次性回收所有垃圾对象。
-
手动回收机制:使用System.gc(); 通知JVM执行垃圾回收。
包装类
基本数据类型所对应的引用数据类型,默认值为null
-
byte —> Byte
-
short —>Short
-
int ----->Integer
-
long ----->Long
-
float ------>Float
-
double ----->Double
-
char ---->Character
-
boolean ---->Boolean
JDK5以后自动拆箱,装箱
Java预先创建了256个常用的整数包装类型对象(-128-----127),若获取的值在其中,则不会进行对象创建,而是直接引用
String类
常用创建方式:
- String str1 = “Hello”;
- String str2 = new String(“World”);
可变字符串
概念:可在内存中创建可变的缓冲空间,存储频繁改变的字符串。
Java中提供了两个可变字符串类:
-
StringBuilder:可变长字符串,JDK5.0提供,运行效率快、线程不安全。
-
StringBuffer:可变长字符串,JDK1.0提供,运行效率慢、线程安全。
-
这两个类中方法和属性完全一致。
通常是需要频繁修改的字符使用
BigDecimal
用处:精确计算浮点数
创建方式:BigDecimal bd=new BigDecimal(“value”);
注:通常是传的字符串形式的值
四则运算全靠方法。add(),subtract(),multiply(),divide() //加减乘除
注:若为除的时候有时候除不尽,则可以通过divide(BigDecimal bd,int scale,RoundingMode mode)。
scale:指定小数取后几位数
mode:通常使用四舍五入的形式。即BigDecimal.ROUND_HALF_UP
Date
Date表示特定时间,精确到毫秒,但其中大部分方法已过时,被Calendar取代。
SimpleDateFormat()和getTime()较为实用
- SimpleDateFormat是以与语言环境有关的方式来格式化和解析日期的类。
- 进行格式化(日期 -> 文本)、解析(文本 -> 日期)。
1秒=1000毫秒 1毫秒=1000微秒 1微秒=1000纳秒
Calendar
- Calendar提供了获取或设置各种日历字段的方法。
- Calendar为abstract所修饰的抽象类,不能进行实例化
常用方法
Calendar
- Calendar提供了获取或设置各种日历字段的方法。
- Calendar为abstract所修饰的抽象类,不能进行实例化
-
System
常用方法
static long currentTimeMills():获得当前系统时间,返回的是毫秒值