1. String 和 StringBuilder、StringBuffer 的区别?
Java中定义了string和stringbuffer两个类封装字符串,提供了一系列操作字符串的方法。
string是final类型所以使用string定义字符串是一个常量,一旦创建了string它的内容和长度是不可变的,如果想要修改字符串,需要创建新的字符串。stringbuffer类(字符串缓冲区)它的内容和长度都是变化的,stringbuffer相当于字符容器,在添加或删除操作不会产生的新的buffer对象。
string类可以重写object类的equals方法,而stringbuffer类没有重写object类的方法。
string类对象用操作符 + 连接,stringbuffer类没有重写equals方法。
stringbuild也可以操作字符串,stringbuffer是线程安全的,stringbuild是没有实现线程安全功能。通常创建一个内容可变的字符串对象优先考虑stringbuild类。stringbuild 也是提供了插入(insert),删(delete),添加(append),替换(replace)。
2. 方法的重载,方法的递归?方法的重写?
Java中允许在一个程序中定义多个名称相同,但是参数的类型或个数不同的方法就是方法的重载。
方法的重载与返回值无关需要满足两个条件:1. 方法名相同 2.参数个数或参数类型不同。
构造方法的重载在一个类中可以定义一个多个构造方法,只需要每个方法的参数类型或参数个数不同。创建对象时