Object类的作用
一个类要么默认继承了Object类,要么间接继承了
Object类的常用方法
public String toString() //默认返回当前对象在堆内存中的地址信息
public boolean equals(Object o) //默认是比较当前对象与另一个对象的地址是否相同
Object类中的toString()方法实际没有什么意义,我们一般更需要里面的内容。所以它存在的意义就是被子类重写,来返回里面的内容信息。
Obkect类中的equals()方法是比较地址是否相同,我们完全可以用‘==’来替代,在很多情况下,我们希望比较的是内容是否一样,所以一般也是子类去重写它,来达到判断内容是否一致的目的。
Objects
Objects是一个工具类,提供了一下方法完成一些功能。
官方在进行字符串比较时,没有用字符串对象的equals方法,而是使用了Objects类的equals方法来比较。因为更加的安全。
Objects的常见方法
public static boolean equals(Object a, Object b) //比较两个对象的,底层会先进行非空判断,从而可以避免空指针异常。再进行equals比较
public static boolean isNull(Object obj) //判断变量是否为null ,为null返回true ,反之
StringBuilder
StringBuilder是一个可变的字符串操作类,他操作字符串的性能要比String厉害。
StringBuilder构造器
public StringBuilder() //创建一个空白的可变的字符串对象,不包含任何内容
public StringBuilder(String str) //创建一个指定字符串内容的可变字符串对象
StringBuilder常用方法
public StringBuilder append(任意类型) //添加数据并返回StringBuilder对象本身
public StringBuilder reverse() //将对象的内容反转
public int length() //返回对象内容长度
public String toString() //通过toString()就可以实现把StringBuilder转换为String
StringBuilder:内容是可变的、拼接字符串性能好、代码优雅。
String :内容是不可变的、拼接字符串性能差。