System类:
- 不能创建System类的对象,所有方法都是静态方法,通过System调用
- 常用的就是out,currentTimeMillis()
Object类
- Object类是所有普通类、数组、枚举类的父类,默认继承
- 常用方法:
- boolean equals(Object obj),判断是否为堆内存中的同一个对象
- Class<?> getClass(),获取对象的运行时类型
- int hashCode(),根据内存地址返回hashcode,很多类都重写了该方法
- clone方法,复制一个与本对象完全隔离的对象
--注意只克隆本对象,引用类型的成员变量依然指向同一个对象
--clone方法被protected修饰,子类重写后才能调用
--重写步骤:实现Cloneable接口后再重写clone方法,方法体中调用supper.clone()方法
Objects工具类
- 不同于类的静态方法,工具类一般将对象作为参数,并且可以接收null
- 常用:toString、hashCode、equals、isNull等
关于随机数
- Math.random()、Random类、ThreadLocalRandom类
- Math.random()只能返回0-1的随机double数
- Random类方法更丰富,可以返回各种类型,也可以定义边界
-- 非静态方法,需要new一个实例来调用方法 - ThreadLocalRandom类线程安全,功能与Random类相似
时间相关
- 获取当前毫秒数:System.currentTimeMillis()
- 获取日期:当前日期Localdate.now(),返回2018-12-4
- 获取指定日期:LocalDate.of(2018, Month.APRIL, 5),返回2018-04-05
- 获取当前时间:LocalTime.now()、LocalDateTime.now()
- 获取年份:Year.now()、Year.of(年份)
- Year.now().atMonth(int i)——返回年月YearMonth
- Year.now().atMonth(int i).atDay(iny j),返回年月日LocalDate
- 获取月份:YearMonth.now()
- 获取月日:MonthDay.now()
网友评论