Java学习路线(11)——常用API

文章介绍了Java中的Object类,包括toString()和equals()方法的用途及其在子类中的重写。接着讨论了StringBuilder类用于高效字符串操作的特点和方法。还提到了Math类的数学函数以及System类的实用方法如exit()和currentTimeMillis()。最后,文章提到了BigDecimal类用于处理高精度浮点运算的情况。
摘要由CSDN通过智能技术生成

一、Object与Objects

Object
概念: Java对象的总类。

方法:

方法说明
String toString()默认返回当前对象在堆内存中的地址:类全名@内存地址
Boolean equals(Object o)比较对象的地址是否相同
  • toString()
StudentExtend student = new StudentExtend();
System.out.println(student.toString());

/*打印结果*/
com.zengoo.template_function.StudentExtend@3b6eb2ec

问:toString()返回的地址有啥用?
答:实际开发中,并不会直接拿内存地址去开发,而是拿着存储的数据进行处理,所以toString()通常被用来子类重写打印语句。

class Object子类{
	@Override
	public String toString(){
		return "xxx";
	}
}
  • equals()
Student student = new StudentExtend();
Student student2 = new StudentExtend();
System.out.println(student.equals(student2));

/*打印结果*/
false

问:equals()的作用可以被“==”替代,为什么还要使用它呢?
答:在使用场景中,通常需要比较两者的内容是否一致,所以Object的equals方法会被用来重写子类比较方法。

class Object子类{
	@Override
	public Boolean equals(Object o){
		if (this == o) return true;
		if(o == null || this.getClass() != o.getClass()) return false;
		类名 变量名 = (类名)o;
		return xxx == 变量名.xxx && Objects.equals(xx,变量名.xx);
	}
}

Objects
概念: Objects继承Object,是一种安全版Object。
方法:

方法说明
static boolean equals(Object a,Object b)比较两个对象是否相等,底层先判断非空,再进行普通equals比较
static boolean isNull(Object obj)判断变量是否为null

二、StringBuilder

概念: 一个可变的字符串类,作为一种对象容器存在。

作用: 提高字符串操作效率,例如拼接、修改等。

注意:StringBuilder实际上不是字符串,最终还是要转为String对象。

构造器

名称说明
public StringBuilder()创建一个空白可变字符串对象
public StringBuilder(String str)创建一个包含指定字符串内容的可变字符串对象

常用方法

方法说明
StringBuilder append(E e)添加数据
StringBuilder reverse()反转数据
int length()获取数据长度
String toString()转换成String

使用方法

  • addpend()
/*方法一:顺序执行*/
StringBuilder sb = new StringBuilder(); // new StringBuilder() == ""
sb.append(1);
sb.append("Stirng")
sb.append(false);
System.out.println(sb.toString());
//结果
1Stringfalse

StringBuilder sb1 = new StringBuilder(); // == ""
/*方法二:链式执行(原理是每次执行都会返回当前对象)*/
sb1.append(1).append(2).append("3");
System.out.println(sb1.toString());
//结果
123
  • reverse()
/*使用场景是将两个字符串合并*/
sb.reverse().append(sb1.reverse().toString()).reverse();
//执行过程
1、反转sb:eslafgnirtS1
2、反转sb1:321
3、连接sb1:eslafgnirtS1321
4、反转sb:1231Stringfalse
  • length()
System.out.println(sb.length());

//打印结果
15

三、Math

概念: Java提供的数学工具类。

常用方法:

方法说明
int abs(int a)获取绝对值
double ceil(double a)向上取整
double floor(int a)向下取整
int round(float a)四舍五入
double pow(double a,double b)返回a的b次方值
double random()获取 [ 0.0 - 1.0 ) 随机值

四、System

概念: 系统工具类。

常用方法

方法说明
void exit(int status)终止当前虚拟机,status != 0 表示异常终止
long currentTimeMillis()以毫秒数获取当前系统时间戳
void arraycopy(来源数组,起始索引,目标数组,起始索引,拷贝个数)数组复制

五、BigDecimal

概念: 创建对象BigDecimal封装浮点型数据。(建议使用valueOf()方法进行封装)

作用: 避免double类型的精度失真问题。

常用方法

方法说明
BigDecimal add(BigDecimal b)加法
BigDecimal subtract(BigDecimal b)减法
BigDecimal multiply(Big Decimal b)乘法
BigDecimal divide(Big Decimal b)除法
BigDecimal divide(Big Decimal b,int scale(精度),Enum moudle(舍入模式))除法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zain_horse

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值