java与C++区别之String字符串


本文转自csdn博客: http://blog.csdn.net/flywithmj/article/details/7568765

记下来作为Java学习笔记。


     从概念上讲,java字符串就是Unicode字符序列。

        1,提取子串

       String类提取子串的方法是substring方法,例如:String str = "hello"; String substr = str.subdtring(0,4);,在这里,第一个参数是起始位置,第二个参数是不想复制的第一个位置或者说是截止位置。结果就是"hel"。

        2,字符串拼接

        java语言与C++语言一样,都支持使用“+”来拼接字符串,例如:String str1 = "Hello "; String str2 = "java";String str3 = str1+str2。当将一个字符串与另一个非字符串(任何一个java对象都行)进行拼接时,后者会被转换为字符串。

       在这里要说一种高效率的拼接字符串的方法:使用StringBuilder类来构建字符串,示例如下:

       char c='a';

       String str = "asas";

       StringBuilder builder = new StringBuilder();

       builder.append(c);

       builder.append(str);

       String mystr = builder.toString();

       这样就可以将多个字符或者字符串拼接成字符串,而且效率比使用“+”要高。最后介绍一下StringBuffer类,他是StringBuilder的前身,其执行效率略低,但是其允许采用多线程的方式执行添加或删除字符的操作。

       3,检测字符串相等

       在C++中,我们判断两个字符转是否相等最简单的方法就是用“==”直接进行比较,这是因为C++重载了“==”运算符,以便检测字符串内容是否相等。但在java中,没有重载“==”运算符,所以不能使用“==”判断字符串内容是否相等,这个运算符只能检测两个字符串是否存储在同一位置,若存储在同一位置,则相等,返回true。当然,内容必然相等,但是存储在不同位置的字符串其内容也可能相等。

       在java中,采用equals方法判断是否相等,例如:

       String str1 ="qw";

       String str2 = "asda";

       boolean judge = str1.equals(str2);

       若相等,返回true,否则,返回false。如果不区分大小写,则使用equalsIgnoreCase函数。

       4,提取字符串上的字符。

       在C++中,我们可以用“[]”来访问字符串的字符,例如string str = "C++is"; char c= str[1];但在java中,使用charAt()方法访问,例如:String str =“hello”; char s = str.charAt(2);

 

       最后着重提示一点,java的String类没有提供用于修改字符串的方法。具体参照《java核心思想》p44。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值