1.什么是字符串
java使用
java.lang包中的String类来创建一个字符串变量,因此字符串变量是一个对象.
a) 字符串常量
如, "你好","bc-cn","12345789"
字符串常量在
内存中一但定义,地址空间是不可改变的,直到程序结束.就是说字符串常量在内存中有固定的地址.
b) 声明字符串
String str;
c) 创建字符串
使用String类的构造方法,例如:
str=new String("I like bc-cn.net"); //当然如果没有声明直接创建也是可以的,回忆一下匿名类的概念
声明和创建可以一步完成:
String str=new String("I like bc-cn.net");
也可以用一个已创建的字符串创建另一个字符串,如
String s=String(str);
String类还有两个比较常用的构造方法.
(1)String (char a[]) //用一个字符数组a创建一个字符串对象,如
char a[]={'b','o','y'};
String s=new=new String(a);
上述过程相当于:
String s=new String("boy");
(2)String(char a[],int startIndex,int count)
提取字符数组a中的一部分字符创建一个字符串对象,参数startIndex和count分别指定在a中提取字符的起始位置(从0开始)和从该位置开始截取的字符个数,例如
char a[]={'s','t','b','u','s','n'};
String s=new String(a,2,3); //从2开始,即第三个位置(b),截取3个字符
上述过程相当于:
String s=new String("bus");
d)字符串常量对象
字符串常量是对象,因此可以把字符串常量的赋值给一个字符串变量,例如:
String s1,s2;
s1="how are you";
s2="how are you";
分析:"how are you"是个字符串常量,所以在内存中的地址是固定的,赋值给了s1和s2,就说明s1和s2用的是同一个空间