常见API2

API

API(Appliction Programming interface):应用程序编程接口。

1就是Java帮我们已经写好一些程序,如:类、方法等,我们直接拿过来用就可以 。

2为什么要学别人写好的程序:不要重复造轮子。

Object类

Object****类的作用:是Java中所有类的祖宗类,因此Java中所有类的对象可以直接调用Object类提供的方法

常见方法

public String toString(); // 返回对象的字符串表示形式
意义:让子类重写,一边返回子类对象的内容
public boolean equals(Object o); // 判断两个对象是否相等。意义:让子类重写,一边比较子类对象的内容是否相同。
protected Object clone(); //  对象克隆 意义:
当某个对象调用这个该方法时,这个方法会复制一个一模一样的 新对象返回。 

小知识:开发中,接口中什么都没有,则是标记接口。例如:Cloneable

clone的方法使用:先重写clone,在实现Cloneable接口.

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

深拷贝:对象中基本类型的数据直接拷贝。

对象中的字符串数据(字符串常量池)拷贝的还是地址。对象中还包含的其他对象,会在堆内存中创建新对象。

Objects类

概述: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

注意

StringBuilderStringBuffer用法一致

StringBuilder是线程不安全的,StringBuffer是线程安全的。(就是过多用户同时进行字符串操作,线程不安全的易出现bug)

**StringJoiner**

背景:因为String操作字符串忒慢,而StringBuilder快,但很麻烦,所以引申出StringBuilder

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

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

// 构造器
public StringJoiner (间隔符号) // 创建一个StringJoiner对象,指定拼接时的间隔符号。
public StringJoiner (间隔符号、开始符号、结束符号) // 创建一个StringJoiner对象,指定拼接时的间隔符号,开始符号,结束符号
// 方法名称
public StringJoiner add(添加的内容) // 添加数据,并返回对象本身
public int length() // 返回长度(字符出现的个数)
public String toString()// 返回一个字符串(该字符串是拼接后的)   

你可能感兴趣的:(java,算法,开发语言)