c++和java区别之string字符串
2016-09-03 10:48
183 查看
从概念上讲,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。
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。
相关文章推荐
- java与C++区别之String字符串
- java与C++区别之String字符串
- JAVA与C++区别(二):字符串
- 菜鸟学Java之Java与C++在字符串中使用+和==的区别
- java中String字符串的替换函数:replace与replaceAll的区别
- java中String字符串的替换函数:replace与replaceAll的区别
- Java字符串String中contains与indexOf的区别
- java中String字符串的替换函数:replace与replaceAll的区别
- java中String字符串的替换函数:replace与replaceAll的区别
- Java中String和String Buffer两种字符串类型之间的区别和联系
- java点滴:String字符串的替换函数:replace与replaceAll的区别
- C++字符串:string and wstring的区别,非常重要!!!!
- C字符串与C++中string的区别详解
- java中String字符串的替换函数:replace与replaceAll的区别
- java中,char[ ] subStr=new char[8]是什么意思?跟用String创建的字符串有啥区别?
- [C++]仿java.lang.String的字符串工具类[原]
- java中String字符串的替换函数:replace与replaceAll的区别
- C++字符串:string and wstring的区别
- java中String字符串的替换函数:replace与replaceAll的区别
- Java 创建字符串String的各种方法以及区别