概要:
1. String字符串
2. String字符串常用方法
3. StringBuffer
4. StringBuilder
String字符串
- 实例化String对象
- String内容的比较
String string = "hello";
String string2 = new String("hello");
System.out.println(string == string2);
System.out.println(string.equals(string2));
这段代码会输出一个false和一个true。这里就提到了==
和equals
的不同。==
比较的是内存地址,而equals
比较的是内容。
3. 字符串内容不可更改
String string = "hello";
string = string +"world";
System.out.println(string);
内存分析图:
也就是说原本hello的内存不会更改,而是重新开辟了一个内存,来存放helloworld。
String字符串常用方法
- 字符串长度:
length()
。 - 字符串转换数组:
toCharArray()
。 - 从字符串中取出指定位置的字符:
charAt(int number)
。 - 字符串与byte数组的转换:
getByte()
。 - 过滤字符串中存在的字符:
indexOf()
,他返回是布尔类型,如果有这个字符就会返回字符的位置,如果没有这个字符就会返回-1。 - 去掉字符串的前后空格:
trim()
。 - 从字符串中取出子字符串:
subString()
。 - 大小写转换:
toLowerCase()
,toUpperCase()
。 - 判断字符串的开头结尾字符:
endsWith()
,startWith()
。 - 替换String字符串中的一个字符:
replace()
。
StringBuffer
- 概念:缓冲区,本身也是操作字符串,但是与String不同,StringBuffer是可以更改的。
- StringBuffer是一个操作类,所以必须通过实例化进行操作。
- StringBuffer常用方法:
append()
作用:追加,在字符串结尾加上新的字符。insert(arg0,arg1)
作用:在arg0的位置插入字符串arg1.replace(arg0,arg1,arg2)
作用:替换的作用,第一个参数是从哪里开始,第二个参数是在哪里结束,第三个参数是替换的字符串。indexOf()
作用:和String中的indexOf()作用是一样的。
StringBuilder
- 一个可变的字符序列,该类被设计作用StringBuffer的一个简易替换,用在字符串缓冲区被单个线程使用的时候。建议优先考虑该类,速度比StringBuffer更快。
- 但是如果设计到线程安全方面,建议使用StringBuffer。
- 常用方法:
append()
与StringBuffer使用方法差不多。insert()
与StringBuffer使用方法差不多。