首先,java中的字符串不是一种基本类型,而是String类的一个实例,所以,创造字符串的时候跟创造一个类的对象完全一样:String greeting = new String("Hello");
1 子串Substrings
String类中有一个子串方法:
String s = greeting.substring(0,3);
注意:这里的首尾索引是“左闭右开”的。
2 拼接
可以直接采用“+”拼接两个字符串,甚至可以拼接一个字符串和另一个不是字符串的值,此时,后者将转换为字符串
当需要将多个字符串拼接在一起,并以某一分隔符分割时,可以采用join:
String all = String.join(" / ", "S", "M", "L", "XL");
// all is the string "S / M / L / XL"
3 字符串是不可变的(immutable)
String对象是不可变的,也就是说,java中,不能直接改变字符串,而是采用拼接的方法来生成新的字符串:
greeting = greeting.substring(0, 3) + "p!";
虽然这么做新生成一个string对象比较低效,但是有一个优点:编译器能够使得这些字符串是共享的。
4 字符串“相等”的测试
测试两个字符串是否相等,可以用equals方法:s.equals(t),此方法中,s和t既可以是字符串变量,又可以是字面常量,如:
"Hello".equals(greeting)
不要使用==来测试两个字符串是否相等,它值确定两个字符串是否存在同一地方。很明显,如果两个字符串储存在同一位置,那他们肯定是相等的,但是对于同一字符串,他可能储存在多个不同的位置,所以此时用==来测试的话,可能会使得相等的两个字符串得到不相等的结果。