一、声明:
String s;
二、初始化:
使用双引号
String s="HelloWorld!";//声明同时初始化
String t;
t="HelloWorld";//先声明后赋值
三、子集(Substrings):
substring(n1,n2);第一个参数是起始字符位置,第二个是首个不想要的字符位置
String test=''HelloWorld'';
String s=test.substring(2,5);//s="ell",从第2个字符到5-1个字符
四、串联(concatenation):
使用加号将两个字符串连接,可以生成新字符串
String a="Hello";
String b="World";
String c=a+b;//c="HelloWorld"
使用加号将字符串与其他类型数据连接,可以生成新字符串,其中其他类型数据被转化为字符串类型;
注:所有数据类型都可以转化为字符串类型
例:
int a=233;
String b="Hello";
int c=1000;
String m=a+b+c;//m="233Hello1000"
如果想将int 类型转化为String,使用String .valueOf(int arg0);
例:
int a=111;
int b=222;
String c=String .valueOf(a)+String .valueOf(b);//c="111222"
常用于语句输出
例:
int number=20;
System.out.println("The number is"+number);//"The number is20''
System.out.println("The number "+number+" is bigger than 10");//"The number 20 is bigger than 10")
五、字符串是不可变的(immutable):
String类库没有提供可以直接修改字符串特定字符的方法。但可以通过获取子集、串联拼接成想要的新字符串。
例://修改字符串"Helc"为"Help"
String a=''Helc'';
String a=a.substring(0,3)+"p";//a="Help"
六 、测试字符串相等:
使用s.equals(t),不要使用==,因为此时的判断结果只取决于两字符串是否存在相同的地址,可能出错
例:
String a="hello";
if(a.equals("Hello"))
System.out.println("1");else
System.out.println("0");
七、空字符串和Null
空字符串即""或长度为0的字符串
测试空字符串:
if(str.length()==0)或者if(str.equals(""))
null不能对其使用字符串方法,测试null
if(str==null)
测试不是空字符串和不是null需要先测试不是null,否则null时对其使用length
会出错。
if(str!=null&&str.length!=0)
八、字符串API
九、Building Strings
有时我们需要建立字符串从一些已有的短字符串。这是使用前面所说的字符串连接是很没有效率的。因此可以使用StringBuilder类。
创建一个空的string builder
StringBuilder test=new StringBuilder();
使用append方法增加字符或字符串
test.append(ch);
test.append(str);
完成后使用toString方法
string completeString=test.toString();