String
字符串广泛应用 在
创建增删
创建字符串最简单的方式如下
String greeting = "Greeting";
和其它对象一样,可以使用关键字和构造方法来创建
public class StringDemo{
public static void main(String args[]){
char[] helloArray = { 'r', 'u', 'n', 'o', 'o', 'b'};
String helloString = new String(helloArray);
System.out.println( helloString );
}
}
注意,
字符串转义
点的转义:. ==> u002E
美元符号的转义:\$ ==> u0024
乘方符号的转义:^ ==> u005E
左大括号的转义:{ ==> u007B
左方括号的转义:[ ==> u005B
左圆括号的转义:( ==> u0028
竖线的转义:| ==> u007C
右圆括号的转义:) ==> u0029
星号的转义:\* ==> u002A
加号的转义:+ ==> u002B
问号的转义:? ==> u003F
反斜杠的转义: ==> u005C
譬如我们如果需要从"C:\"
,在"C:\\"
,而如果要用正则表达式匹配 "\"
这个字符的时候,正则表达式要写成 "\\\\"
,即首先是根据"\\"
,其就等价于正则表达式中匹配 "\"
这个字符。
模板字符串
String.format("%s 今年%d 岁","我", "24");
MessageFormat.format("{0} 今年{1} 岁", "我",24);
索引遍历
Split | 截取分割
stringObj.split([separator,[limit]])
// 根据转义字符进行分割
String.split("\\.")
String.split("\\|")
// 使用正则表达式
字符串操作
子字符串
substring(beginIndex,endIndex),即截取的是 [beginIndex,endIndex-1]
这样的字符串。
System.out.println("abcd".substring(0,1));
Compare | 字符串比较
不可变性
字符串实际上就是一个
public final class String
implements java.io.Serializable, Comparable<String>, CharSequence {
/** The value is used for character storage. */
private final char value[];
并且
intern
String.intern()
方法可以用来处理在intern()
方法,可以节省大量由重复字符串对象消耗的堆内存。如果一个字符串对象包含与另一个字符串相同的内容,但是占用了不同的内存位置,例如 str1 != str2
但 str1.equals(str2) true
,则称其为重复。由于intern()
方法减少重复intern()
方法实例化

通过在此对象上调用 intern()
方法,可以指示
public class Test {
public static void main(String[] args) {
String s1 = "Test";
String s2 = s1.intern();
String s3 = new String("Test");
String s4 = s3.intern();
System.out.println(s1==s2); // True
System.out.println(s1==s3); // False
System.out.println(s1==s4); // True
System.out.println(s2==s3); // False
System.out.println(s2==s4); // True
System.out.println(s3==s4); // False
}
}