publicclassStringExercise03{publicstaticvoidmain(String[] args){String s1 ="hello";
s1 ="haha";//创建了2个对象 常量池中的hello对象和haha对象String a ="hello"+"world";/*
创建了1个对象
String a = "hello" + "world";
编译器优化为 String a = "helloworld";
*/String x ="hello";String y ="world";String z = x + y;//创建了3个对象 x对象 y对象 z对象}}
构造方法
public String()
无参构造 初始化创建的一个String对象
public String(byte[] bytes)
把字节数组转换成一个字符串
public String(byte[] bytes,int index,int length)
把字节数组从index下标往后取length个元素转换成字符串
public String(char[] value)
把字符数组转换成一个字符串
public String(char[] value,int index,int count)
把字符数组从index下标往后取count个元素转换成字符串
public String(String original)
新创建的的字符串是该参数字符串的副本
判断功能
public boolean equals(Object obj)
将此字符串与指定的对象obj相比 返回一个boolean值
public boolean equalsIgnoreCase(String str)
将此字符串与指定的字符串str相比(忽略大小写) 返回一个boolean值
public boolean contains(String str)
判断一个字符串中是否包含字符串str 返回一个boolean值
public boolean startsWith(String str)
判断一个字符串是否是以字符串str开始的
public boolean endsWith(String str)
判断一个字符串是否是以字符串str结尾的
public boolean isEmpty()
当字符串的长度为0时返回一个true
获取功能
public int length()
返回一个字符串的长度 返回int类型的值
public char charAt(int index)
返回一个字符串第index+1个的值 返回char类型的值
public int indexOf(int ch)
返回指定字符ch在此字符串中第一次出现的索引
public int indexOf(String str)
返回指定字符串str在此字符串中第一次出现的索引
public int indexOf(int ch,int fromIndex)
返回从formIndex位置开始指定字符ch在此字符串中出现的索引
public int indexOf(String str,int fromIndex)
返回从formIndex位置开始指定字符串str在此字符串中出现的索引
public String substring(int start)
返回从start开始往后所有字符组成的字符串
public String substring(int start,int end)
返回从start到end的字符组成(不包含end)的字符串
转换功能
public byte[] getBytes()
将字符串转换成byte类型的数组
public char[] toCharArray()
将字符串转换成一个char类型的数组
public static String valueOf(char[] chs)
将一个char数组转换成一个字符串
public static String valueOf(int i)
将一个int类型数据转换成一个字符串
public String toLowerCase()
将字符串中的字符转换成小写
public String toUpperCase()
将字符串中的字符转换成大写
替换功能
public String replace(char old,char new)
把字符串中的字符old替换成字符new
public String replace(String old,String new)
把字符串中的字符串old替换成字符串new
比较功能
public int compareTo(String str)
按照字典形式比较两个字符串(字符串等于字符串str返回0)
public int compareToIgnoreCase(String str)
按照字典形式比较两个字符串(不考虑大小写)
其他功能
拼接功能
public String concat(String str)
将字符串str拼接在原有字符串之后
去除空白功能
public String trim()
将字符串前面和后面的空白去掉
public StringBuffer()
无参构造方法 创建一个大小为16的char[]
public StringBuffer(int capacity)
通过构造器指定char[]大小
public StringBuffer(String str)
通过给一个字符串创建StringBuffer char[]大小就是str.length()+16
public int capacity()
返回当前容量 理论值
public int length()
返回长度(字符数) 实际值
增删改查
增
public StringBuffer append(String str)
添加任意类型数据到字符串缓冲区 并返回字符串缓冲区本身
public StringBuffer insert(int offset,String str)
在offset位置插入任意类型数据到字符串缓冲区 并返回本身
删
public StringBuffer deleteCharAt(int index)
删除指定位置的字符 并返回本身
public StringBuffer delete(int start,int end)
删除从指定位置开始指定位置结束的内容 并返回本身[start,end)
改
public StringBuffer replace(int start,int end,String str)
用str替换从start开始到end的字符 [start,end)
查
public int indexOf(String str)
返回指定字符串str在此字符串中第一次出现的索引
public synchronized int indexOf(String str, int fromIndex)
返回从formIndex位置开始指定字符串str在此字符串中出现的索引
public int lastIndexOf(String str)
返回指定字符串str在此字符串中最后一次出现的索引
public synchronized int lastIndexOf(String str, int fromIndex)
返回从formIndex位置开始指定字符串str在此字符串中出现的最后一次索引
其他功能
反转功能
public StringBuffer reverse()
字符串反转
截取功能
public String substring(int start)
截取从指定位置到末尾
public String substring(int start,int end)
截取从指定位置开始到结束位置[start,end)
StringBuffer和String互换
String -> StringBuffer
构造方法
String str = "hello";
StringBuffer stringBuffer = new StringBuffer(str);
append方法
StringBuffer append = new StringBuffer().append(str);
insert方法
StringBuffer insert = new StringBuffer().insert(0, str);
StringBuffer -> String
构造方法
StringBuffer sb = new StringBuffer("Hello");
String s1 = new String(sb);
substring方法
String substring = sb.substring(0);
toString方法
String s2 = sb.toString();