- 字符串是常量,创建之后不可改变
- 字符串字面值存储在字符串池中,可以共享,字符串池位于方法区内
- String s="hello";产生一个对象,字符串池中存储
- String s=new String("hello");产生两个对象,堆,池中各一个。栈里的对象引用地址指向堆,堆中的地址指向字符串池
字符串常用方法
- length():返回字符串长度
- charAt(int index):返回某个位置的字符
- contains(String str):判断是否包含某个字符
- char[] toCharArray():将字符串转换成数组
- int indexOf(String srt):查找Str首次出现的下标,如果存在返回下标,不存在返回-1
- int lastIndexOf(String str): 查找字符串在当前字符串中最后一次出现的下标索引
- String trim();去掉字符串前后空格
- String toUpperCase();将小写转换为大写
- boolean endWith(String str) ;判断字符串是否已str结尾
- String replace(char oldChar, char newChar) ;将旧的字符串替换为新的字符串
- String[] split(String str); 根据str进行拆分
StringBuffer和StringBuilder
- StringBUffer:可变长字符串,JDK1.0,运行效率慢,线程安全
- StringBuilder: 可变长字符串,JDK1.5, 运行效率块,线程不安全
不管哪种都比操作string对象高效
1.append(str)
2.insert(int index)
3.replace(int index1, int index2)
4.delete(int index1, int index2)
posted @
2021-03-04 02:21
UltraBlast
阅读(
38)
评论()
收藏
举报