常用API

本文介绍了Java编程中的核心概念,包括类的祖宗类(如Object)、toString和equals方法的重写,以及克隆、Objects工具类、包装类、StringBuilder、Math、Runtime、BigDecimal、Date、SimpleDateFormat、LocalDate、DateTimeFormatter和Arrays类的使用。

一.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)  对数组元素进行升序排列

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值