一、概述
string类代表字符串,程序中所有字符串都是string类的实例。即所有双引号字符串如“abc”,都是string类的对象。
string类在java.lang包下,不需要导包。
字符串在创建后不可以变,值无法更改,只能做替换,可以被共享。
二、构造特点
string类的构造方法有四种:
1.创建空白字符串对象,不包含任何内容。
string s=new string();
2.根据字符数组创建对象
char[] ch={'a','b','c'};
String s=new String(ch);
3.根据字节数组创建对象
byte[] by={97,98,99};
String s=new String(by);
4.直接赋值创建对象,也是最常用的
String s=“abc”;
String类具有默认的构造方法,会在创建对象时自动调用。
三、string类的构造特点
1.通过new创建的string类对象,每一次new都会重新申请一个地址空间,即使两个对象的内容相同,地址却不相同。
如:char[] s={'a','b','c'};
String s1=new String(s);
Strign s2=new String(s);
两者内容相同,但是用了两个不同的内存空间地址储存。此时用“==”来比较两个字符串
s1==s2; 返回值为false。 因为==在比较对象时会比较两个对象的地址,所以s1==s2返回false。 而s1.equals(s2)会返回true,因为equals在比较字符串对象时,只会比较字符串的内容。
2.通过双引号“”给出的字符串,只要字符序列相同,即顺序和大小写相同,无论出现多少次,都是指向同一对象。
如:String s3="abc";
String s4="abc";
此时两个对象指向的是同一空间地址的对象。
在使用引号“”创建对象时,string会对已创建的对象进行检索,如果有相同的,则直接将新对象的地址指针指向已有的对象地址。
此时s3==s4成立;s3.equals(s4)同样成立。
四、字符串遍历
遍历字符串的关键步骤:获取字符串长度,获取字符串中的每一个元素
1.获取字符串长度使用length方法
public int length();返回一个int型变量,也就是字符串的长度。
数组的长度方法:数组名.length;
字符串的长度方法:字符串对象.length();
2.获取字符传中的每一个元素
public char charAt(int index); 返回指定索引处的字符串
如:string s="abcd";
s.charAt(1);//返回索引为1的字符,结果是b。
3.遍历字符串的方法
使用for循环,遍历字符串,输出每一个元素
for(int i=0;i<s.length();i++)
{ s.charAt(i); }