Java 没有内置的字符串类型,而是在Java类库中提供了一个预定义类,很自然地叫做String。
一、子串
String类的substring方法可以从一个较大的字符串提取出一个子串。
Eg.
String melody = "ja-ja";
String mm =melody.substring(0,4);
System.out.println(mm); //mm = ja-j
二、拼接
Java语言允许使用+连接(拼接)两个字符串。
String 魏 = "caocao";
String 蜀 = "liubei";
String 吴 = "sunquan";
String sanguo = 魏 + 蜀 + 吴 ;
System.out.println(sanguo); // 结果是caocaoliubeisunquan(单词之间没有空格,+按照给点的顺序将几个字符串拼接起来)
当将一个字符串与非字符串进行拼接时,后者被转换成字符串。
Eg.
int day = 10 ;
String date = "2016.10." + day;
System.out.println(date); // 2016.10.10
这条特性经常用在输出语句中,比如 System.out.println("a + b = " + c); // =号后加空格,输出结果会带上空格
三、不可变字符串
String 类没有提供用于修改字符串的方法,所以在Java文档中奖String类对象称为不可变字符串。
在Java中实现修改字符串,首先要提取需要的字符子串,然后再拼接上替换的字符串。
Eg.
String world ="You";
world = world.substring(0,3) + "ng for you !!";
System.out.println(world); // 输出结果为“Young for you !!!”
不可变字符串有一个优点:编译器可以让字符串共享。
四、检测字符串是否相等
可以使用equals方法检测两个字符串是否相等。
s.equals(t)
ps. s与t可以是字符串变量,也可以是字符串常量。
Eg.
String honey = "pretty girl";
String darling = "My pretty girl";
String girl_friend = "My pretty girl";
System.out.println(honey.equals(darling)); // 结果是false
System.out.println(darling.equals(girl_friend));结果是true
Ps.一定不能用 == 运算符检测两个字符串是否相等!
要想检测两个字符串是否相等,而不区分大小写,可以用 equalsIgnoreCase方法。
Eg.
System.out.println("girlfriend".equalsIgnoreCase("GIRLFRIEND")); // 输出结果是true
五、空串与Null串
空串“”是长度为0的字符串。可以调用以下代码检查一个字符串是否为空:
if(str.length()=0)
或
if(str.equals(""))
空串是一个java对象,有自己的长度(0)和内容(空)。
String变量还可以存放一个特殊的值,名为null,这表示目前没有任何对象鱼该变量关联。
要检查一个字符串是否为null,要使用以下条件:
if(str==null)
有时候要检查一个字符串既不是null也不是空串,这种情况下就需要使用以下条件:
if(str != null && str.length() != 0)