今日无事,学习

今日总结:

Java学习:

常用API:

Object类中方法:

toString:printf打印的内容都在对象后面默认加上.toString

●基本作用:返回对象的字符串形式。

●存在的意义:让子类重写,以便返回子类对象的内容

equals

●基本作用:默认是比较两个对象的地址是否相等。

●存在的意义:让子类重写,以便用于比较对象的内容是否相同

clone

当某个对象调用这个方法时,方法会复制一个一模一样的新对象返回。

浅克隆

拷贝出的新对象,与原对象中的数据一模一样(引用类型拷贝的只是地址)

深克隆

对象中基本类型的数据还是直接拷贝。

对象中的字符串数据拷贝的还是地址。

对象中还包含的其他对象,不会拷贝地址,会创建新对象。

Objects类中方法:

equals

public static boolean equals(Object a, Object b)

先做非空判断,再比较两个对象

isNull

public static boolean isNull(Object obj)

判断对象是否为null,为null返回true ,反之

nonNull

public static boolean nonNull(Object obj)

判断对象是否不为null,不为null则返回true,反之

包装类:包装类就是把基本类型的数据包装成对象。

  1. 基本数据类型

对应的包装类(引用数据类型)

byte

Byte

short

Short

int

Integer

long

Long

char

Character

float

Float

double

Double

boolean

Boolean

自动装箱:基本数据类型可以自动转换为包装类型。

Integer a3 = 12;

自动拆箱:包装类型可以自动转换为基本数据类型。

int a4 = a3;

泛式和集合不支持基本数据类型,只能支持引用数据类型。

●可以把基本类型的数据转换成字符串类型。

Integer a = 23;

String rs1 = Integer.toString(a); // "23"

●可以把字符串类型的数值转 换成数值本身对应的数据类型。

String ageStr = "29";

int ageI = Integer.valueOf(ageStr); //29

StringBuilder:

●StringBuilder代表可变字符串对象,相当于是一个容器,它里面装的字符串是可以改变的,就是用来操作字符串的。

●好处:StringBuilder比String更适合做字符串的修改操作,效率会更高,代码也会更简洁。

构造器

说明

public StringBuilder()

创建一个空白的可变的字符串对象,不包含任何内容

public StringBuilder(String str)

创建一个指定字符串内容的可变字符串对象

方法名称

说明

public StringBuilder append(任意类型)

添加数据并返回StringBuilder对象本身

public StringBuilder reverse()

将对象的内容反转

public int length()

返回对象内容长度

public String toString()

通过toString()就可以实现把StringBui lder转换为String

StringBuffer:

●StringBuffer的用法与StringBuilder是一模一样的

●但StringBuilder是线程不安全的,StringBuffer是线程安全的

StringJoiner:

●JDK8开始才有的,跟StringBuilder一样,也是用来操作字符串的,也可以看成是一个容器,创建之后里面的内容是可变的。

●好处:不仅能提高字符串的操作效率,并且在有些场景下使用它操作字符串,代码会更简洁

构造器

说明

public StringJoiner(间隔符号)

创建一个StringJoiner对象,指定州接时的间隔符号

public StringJoiner(间隔符号,开始符号,结束符号)

创建一个StringJoiner对象,指定拼接时的间隔符号、开始符号、结束符号

方法名称

说明

public StringJoiner add(添加的内容,只能是字符串)

添加数据,并返回对象本身

public int length()

返回长度(字符出现的个数)

public String toString()

返回一个字符串(该字符串就是拼接之后的结果)