String:
创建对象的数量比较
* String s3 = "abc";
* 在内存中只有一个对象。这个对象在字符串常量池中
* String s4 = new String("abc");
* 在内存中有两个对象。一个new的对象在堆中,一个字符串本身对象,在字符串常量池中
a: 常见构造方法
* public String():创建对象
* public String(byte[] bytes):将字节数组转成字符串
* public String(byte[] bytes,int index,int length):将字节数组的一部分转成字符串 从哪个索引开始,要转几个 * public String(String original):直接将字符串转成字符串
a: 方法介绍
* int length(): 获取字符串的长度
* String substring(int beginIndex,int endIndex): 截取字符串的一部分。从哪开始,到哪结束!包含头不包含尾
* String substring(int beginIndex): 截取字符串的一部分,默认到末尾
* boolean startsWith(String prefix): 判断是否以传入的字符串为开头
* boolean endsWith(String prefix): 判断是否以传入的字符串为结尾
* boolean contains (String s): 判断是否包含一个字符串
* int indexOf(char ch): 返回一个字符在字符串中第一次出现的位置
* byte[] getBytes(): 将字符串转成字节数组
* char[] toCharArray(): 将字符串转成字符数组
* boolean equals(Object obj): 比较两个字符串是否相同。区分大小写
* boolean equalsIgnoreCase(String s): 比较两个字符串是否相同。不区分大小写
* String trim():去除字符串两端的空白
* String toLowerCase(): 将字符串转成小写
* String toUpperCase(): 将字符串转成大写
* String replace(String old,String new):使用新字符串将老字符串替换
* boolean isEmpty(): 判断字符串是否为空
StringBuffer:
方法介绍
* StringBuffer append():向缓冲区追加数据
* delete(int start,int end): 删除指定范围的缓冲区内容
* insert(int index, 任意类型): 向指定位置插入
* replace(int start,int end, String str): 将指定位置的内容进行替换
* reverse(): 反转
* String toString(): 转成字符串类型
String,StringBuffer和StringBuilder区别:
String是不可变的字符序列
StringBuffer和StringBuilder是可变的字符序列
StringBuilder是线程不安全的,效率较高
StringBuffer是线程安全的,效率较低