Java字符串String

从概念上讲,Java字符串,就是Unicode字符序列。Java没有内置的字符串类型,而是在标准Java类库中,提供了一个预定义类,很自然的叫做String。每个用双引号括起来的字符串,都是String类的一个实例:

    String e = ""; // 一个空串

    String f = "Hello";

1.子串

String类的substring方法,可以从一个较大的字符串中,提取出一个子串。例如:

    String f = "Hello";

    String s = f.substring(0, 3); // 下标从0开始,取头不取尾

创建了一个由字符“Hel”组成的字符串。

或者:String t = f.substring(3, 5); // 5为字符串的长度,f.length()

等同于String t = f.substring(3); // 从下标位置,截取到末尾

2.拼接

与绝大多数的程序设计语言一样,Java语言允许使用+号连接(拼接)两个字符串。

    String f = "Hello";

    String t = "World";

    String r = s + t;

上述代码将“HelloWorld”赋给变量r(注意,单词之间没有空格,+号按照给定的次序,将两个字符串拼接起来)。

3.不可变字符串

String类没有提供用于修改字符串的方法。如果希望将f的内容,修改为“Help!”,不能直接地将f的最后两个位置的字符,修改为‘p’和‘!’。必须首先提取需要的字符,然后再拼接上替换的字符串:

    f = f.substring(0, 3) + "p!";

上面这条语句,将f当前值修改为“Help!”。

由于不能修改Java字符串中的字符,所以在Java文档中,将String类对象称为不可变字符串。

4.检测字符串是否相等

可以使用equals方法,检测两个字符串是否相等。对于表达式:

s.equals(t);

如果字符串s与字符串t相等,则返回true;否则,返回false。需要注意,s与t可以是字符串变量,也可以是字符串字面量。例

如,下列表达式是合法的:

"Hello".equals(f);

要想检测两个字符串是否相等,而不区分大小写,可以使用equalsIgnoreCase方法。

"Hello".equalsIgnoreCase("hello");

一定不要使用==运算符检测两个字符串是否相等!这个运算符只能够确定两个字符串是否放置在同一个位置上。

Java也可以使用compareTo方法,对字符串进行比较:

if(f.compareTo("Hello") == 0)...

不过,使用equals看起来更为清晰。

5.空串与Null串

空串""是长度为0的字符串。可以调用以下代码检查一个字符串是否为空:

if(str.length() == 0) 或 if(str.equals(""))

空串是一个Java对象,有自己的串长度(0)和内容(空)。不过,String变量还可以存放一个特殊的值,名为null,这表示目前

没有任何对象与该变量关联。要检查一个字符串是否为null,要使用以下条件:

if(str == null)

有时要检查一个字符串既不是null,也不为空串,这种情况下,就需要使用以下条件:

if(str!=null && str.length()!=0)

首先要检查str不为null。如果在一个null值上调用方法,会出现错误。

6.构建字符串

如果需要用许多小段的字符串,构建一个字符串,那么应该按照下列步骤进行。

首先,构建一个空的字符串构建器(StringBuilder类):

StringBuilder bulider = new StringBuilder();

当每次需要添加一部分内容时,就调用append方法。

builder.append(cha); // 添加一个字符

builder.append(str); // 添加一个字符串

在需要构建字符串时,就调用toString方法,将可以得到一个String对象,其中包括了构建器中的字符序列。

String comString = builder.toString();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值