一、基本概述
字符串是常量,创建之后就不可改变(给字符串赋值时,并没有开辟修改数据,而是重新开辟空间)
字符串字面值存储在字符串池中,可以共享
String s = "hello"; //产生一个对象,在字符串池中存储 String s = new String("hello"); //产生两个对象,堆、池各存储一个
二、常用方法
public int length(): //返回字符串的长度
public char charAt(int index): //根据下标获取字符
public boolean contains(String str): //判断当前字符串中是否包含str
public char[] toCharArray(): //将字符串转换成数组
public int indexOf(String str): //查找str首次出现的下标,存在,则返回该下标,否则返回-1
public int lastIndexOf(String str): //查找字符串在当前字符串中最后一次出现的下标索引
public String trim(): //去掉字符串前后的空格
public String toUpperCase(): //将小写转成大写
public String toLowerCase(): //将大写转成小写
public boolean endWith(String str): //判断字符串是否以str结尾
public boolean startWith(String str): //判断字符串是否以str开头
public String replace(char oldChar, char newChar): //将旧字符串替换成新字符串
public String[] split(String str): //根据str做拆分
三、可变字符串
StringBuffer: 可变长字符串,运行效率慢,线程安全
StringBuilder: 可变长字符串,运行效率快,线程不安全
append(): //追加字符串 insert(): //添加 replace(): //替换 delete(): //删除