API
API(Appliction Programming interface)
:应用程序编程接口。
1就是Java帮我们已经写好一些程序,如:类、方法等,我们直接拿过来用就可以 。
2为什么要学别人写好的程序:不要重复造轮子。
Object****类的作用:是Java中所有类的祖宗类,因此Java中所有类的对象可以直接调用Object类提供的方法
常见方法:
public String toString(); // 返回对象的字符串表示形式
意义:让子类重写,一边返回子类对象的内容
public boolean equals(Object o); // 判断两个对象是否相等。意义:让子类重写,一边比较子类对象的内容是否相同。
protected Object clone(); // 对象克隆 意义:
当某个对象调用这个该方法时,这个方法会复制一个一模一样的 新对象返回。
小知识:开发中,接口中什么都没有,则是标记接口。例如:Cloneable
clone的方法使用:先重写clone,在实现Cloneable
接口.
浅克隆:拷贝出的对象,与原对象中的数据一样(引用类型拷贝的只是地址)
深拷贝:对象中基本类型的数据直接拷贝。
对象中的字符串数据(字符串常量池)拷贝的还是地址。对象中还包含的其他对象,会在堆内存中创建新对象。
概述:Objects是一个工具类,提供了很多操作对象的静态方法给我们使用。
常见方法:
public static boolean equals(Object a, Object b)
//先做非空判断,再比较两个对象
public static boolean isNull(Object obj)
// 判断对象是否为null,是,则返回true
public static boolean nonNull(Object obj)
// 与isNull相反
equlas源码:
public static boolean equlas(Objects a, Object b){
return (a==b) || (a!=null && a.equlas(b));
}
八种基本类型的数据:byte,short,int,long,char,float,double,boolean 不是对象
Java思想:万物皆对象
概述:包装类就是把基本类型的数据包装成对象
public Integer (int value);
已过时
public static Integer valueOf(int i)
其他常见操作:
可以把基本类型的数据转换成字符串类型
public static String toString(double d)
public String toString()
把字符串类型的数值转换成数值本身对应的数据类
public static int parseint(String s)
public static Integer valueOf(String s)
**StringBuilder*
*:
StringBuiler
代表可变字符串对象,相当于一个容器,他里面装的字符串是可以改变的,就是用来操作字符串的。
好处:`StringBuilder比String更适合做字符串的修改操作,效率更高,代码更简洁,对于字符串相关的操作,如频繁的拼接,修改等,建议用StringBuilder
// 构造器
public StringBuilder() // 创建一个空白的可变的字符串对象,不包含任何内容
public StringBuilder(String str ) // 创建一个指定字符串内容的可变字符串对象
// 方法名称
public StringBuilder append(任意类型)
public StringBuilder reverse(将对象的内容反转)
public int length() // 返回对象内容长度
public String toString() // 通过toString()就可以实现把StringBuilder转换成String
**注意:**如果操作字符串较少,或不需要操作,以及定义字符串变量,还是建议用String
StringBuilder
和StringBuffer
用法一致
但StringBuilder
是线程不安全的,StringBuffer
是线程安全的。(就是过多用户同时进行字符串操作,线程不安全的易出现bug)
**StringJoiner**
背景:因为String操作字符串忒慢,而StringBuilder
快,但很麻烦,所以引申出StringBuilder
JDK8
开始,跟StringBuilder
一样,也是操作字符串的,也可以看作是一个容器,创建之后里面的内容是可变的。
好处:不仅能提高字符串的操作效率,并且再有些场景下使用他操作字符串,代码更简洁。
// 构造器
public StringJoiner (间隔符号) // 创建一个StringJoiner对象,指定拼接时的间隔符号。
public StringJoiner (间隔符号、开始符号、结束符号) // 创建一个StringJoiner对象,指定拼接时的间隔符号,开始符号,结束符号
// 方法名称
public StringJoiner add(添加的内容) // 添加数据,并返回对象本身
public int length() // 返回长度(字符出现的个数)
public String toString()// 返回一个字符串(该字符串是拼接后的)