一.Object 祖宗类
作用:所有类的祖宗类
toString默认返回对象的内存地址,直接打印打印的是内存地址 全类名@Hash值
equals比较的是两个引用类型的内存地址


toString与equals 方法需要在子类中(例子中的Student)中重写方法
重写方法标注为@Override
clone() 对象克隆

clone()为Objects方法 需要将student调用方法时为object 强转为Student
protected object clone() 对象克隆
浅克隆:将基本类型数值、引用类型地址都拷贝一份
1 子类必须实现Cloneable接口(标记接口),否则运行报CloneNotSupportExceptiong
2 子类重写clone 方法,在里面直接调用父类提供的clone方法
深克隆:将基本类型数值、字符串的地址都拷贝一份;其他引用类型的数据,会创建对象完成拷贝(拷贝出新的地址)
1 子类必须实现Cloneable接口(标记接口),否则运行报CloneNotSupportedExceptiong
2 子类重写clone方法,在里面直接调用父类提供的clone方法
3 在clone方法中 将克隆的到的对象中的引用类型手动重新clone一下再赋值到对象中
二.Objects 工具类
Objects 工具类 里头都是static静态方法 可以直接类名调用
public static boolean equals(Object a,Object b);先做非空判断,在比较两个参数是否相等(更严谨安全,避免空指针)
public static boolean is Null(Object o);判断对象是否为null,是返回true;
public static boolean is nonNull(Object o);判断对象是否不为null,是返回true

三 包装类
为了更好的支持面向对象,java为每一种基本类型都提供了一种对应的包装类型
byte-->Byte short-->Short char-->Character Int-->Integer long-->Long float-->Float double-->Double boolean-->Boolean
1 创建对象
Integer(int i/String value) 构造方法已经过时 new 出对象
static Integer valueOf(int i/String value) 替代构造方法,接收int或string封装成Integer 对象

2 拆箱和装箱(基本类型和包装类的相互转换)
自动装箱: java 支持将基本类型直接给对应包装类型,底层使用的是valueOf()方法
自动拆箱:java支持将包装类直接赋值给对应的基本类型,底层调intValue()方法

3 跟字符串的相互转换
static String toString(int i) 将Integer对象封装的数值int转为String类型
static int parseInt(String s) 将字符串数值转为int 数值

![]()
将int数组转为字符串 100+"" 直接加空字符串更加直观
四 StringBuilder类
代表可变字符串对象 理解为一个操作字符串的容器
相对String来说 本来的操作效率更高
常用方法
构造方法
public StringBuilder():构建一个空的可变字符串对象
public StringBuilder(String str) 构建一个指定内容的可变字符串对象

其他常用方法
public StringBuilder append(任意对象):拼接数据并返回本身
public void reverse(): 翻转内容

public int length():返回长度
public String to String(): 将StringBuilder 转为String对象并返回

StringBuffer
跟StringBuilder类功能一样, 但线程更安全,性能较低
SringJoiner类
JDK8 提供的一个类 和StringBuilder 用法类似, 但是代码更简洁
常用方法
构造方法
public StringJoiner("间隔符号") 构建一个可变字符串对象,指定拼接时的间隔符号
public StringJoiner("间隔符号","开始符号","结束符号")构建一个可变字符串对象,指定拼接时的间隔符号,开始符号和结束符号
public StringJoiner add(String str) 按照格式拼接数据并返回本身
public int length() 返回长度
public String toString() 将StringJoiner转为String对象并返回

五 Math 类
专用于数学运算的工具类
Math 类常用的方法
public static int abs(int a) 返回参数的绝对值
public static double ceil (double a) 向上取整
public static double floor (double a) 向下取整
public static long round(double a)四舍五入
public static max(int a, int b)返回两个参数中的最大值
public static min(int a,int b)返回两个参数中的最小值
public static double pow(double a,double b) 返回a的b次幂
public stati double random( ) 返回[0.0,1.0)之间的随机正数
![]()
六 Runtime 类
代表程序所在的运行环境
常用方法
static Runtime geRuntime() 返回当前java应用程序关联的运行时对象

void exit(int status) 终止运行的虚拟机
0正常退出 非0 异常退出

Process exec(String path) 启动某个程序,并返回代表改程序的对象
void destroy()销毁对象

注意路径\\双右斜杠
七 BigDecimal
用于解决浮点型运算时,出现结果失真的问题
构造方法
public BigDecimal(double val) 不推荐使用这个,无法精准运算 将 double转换为BigDecimal
public BigDecimal(String val) 将String转成BigDecimal

赋值
public static BigDecimal valueOf(数值型数据)

常用方法
public BigDecimal add(另一个BigDecimal对象) 加法

public BigDecimal substract(另一个BigDecimal对象) 减法
public BigDecimal mutiply(另一个BigDecimal对象) 乘法
public BigDecimal divide(另一个BigDecimal对象) 除法(除不尽报错)

BigDecimal devide (另有一个BigDecimal对象,精确几位,舍入模式) 除法,可以控制精确到小数几位
舍入模式
RoundingMode.UP 进一
RoudingMode.FLOOR 去尾
RoudingMode.HALF_UP 四舍五入

public doubleValue() 将BigDecimal转换为double

八 Date 类
Date 代表的是日期和时间,目前使用java.util包下的Date
Date 常用方法
Date() 封装当前系统的时间日期对象

Date(long time) 封装指定毫秒值的时间日期对象

Date getTime() 返回从时间原点到此刻经过的毫秒值

void setTime(long time) 设置时间日期对象的毫秒值

九 SimpleDateFormat 类
日期时间格式化类,可以将Date对象进行格式化和解析操作
构造方法
public SimpleDateFormat() 空参构造,代表默认格式 2023/9/30 上午2:38
public SimpleDateFormat("指定格式")带参构造, 指定日期时间格式
格式化代表符号 y年 M月 d日 H时 m分 s秒 EEE星期几 a 上午/下午

public final Sting format(Date date/long time)格式化
public Date parse(String source)

使用步骤:
1 创建格式化器对象(指定格式)sdf
2 时间->字符串 字符串 sdf.format(时间)
3 字符串->时间 时间 sdf.parse(字符串)
十 LocalDate 类
LocalDate:代表本地日期(年、月、日、星期)
LocalTime:代表本地时间(时、分、秒、纳秒)
LocalDateTime:代表本地日期\时间(年、月、日、星期、时、分、秒、纳秒)
创建方式
xxx.now( ) 获取时间信息
xxx.of(2025,11,16,14,30,01) 设置时间信息

LocalDateTime转换为LocalDate和LocalTime

public LocalDate toLocalDate() 转换成一个LocaDate 对象
public LocalTime toLocalTime() 转换成一个LocalTime对象
以LocalDate 为例子演示常用方法
获取细节 getYear getMonthValue getDayofMonth getDayOfYear getDayOfWeak
直接修改某个信息,返回新日期对象:withYear、withMonth、withDayOfMonth、withDayOfYear
![]()
![]()
![]()
![]()
![]()

十一 DateTimeFormatter
DateTimeFormatter定义格式化时间的格式
public static DateTimeFormatter ofPattern(时间格式) 获取格式化器对象

LocalDateTime的方法
public String format(DateTimeFormatter formatter) 时间转字符串

public static LocalDateTime parse(CharSequence text,DateTimeFormatter formater) 字符串转时间

十二 Arrays
数组工具类
Arrays常用方法
public static String toString(类型[] arr) 返回数组内容的字符串表示形式
public static int[] copyOfRange(类[]arr,起始索引,结束索引)拷贝数组,元素为索引的指定范围,左包含右不包含
public static copyOf(类型[] arr,int newLength) 拷贝数组,指定新数组的长度
public static void setAll(double[] array,IntToDoubleFuction generator) 将数组中的数据改为新数据,重新存入数组
public static void sort(类型[] arr) 对数组元素进行升序排列
本文介绍了Java编程中的核心概念,包括类的祖宗类(如Object)、toString和equals方法的重写,以及克隆、Objects工具类、包装类、StringBuilder、Math、Runtime、BigDecimal、Date、SimpleDateFormat、LocalDate、DateTimeFormatter和Arrays类的使用。
1028

被折叠的 条评论
为什么被折叠?



