字符串不是基本数据类型,是对象
1.每个双引号括起来的都是字符串
String e= “hello”;
2. java可以直接将字符数组转为字符串:
直接在构造String时转换。
char[] data = {'a', 'b', 'c'};
String str = new String(data);
将字符串转换成字符数组 :
String s=“abcdefg”;
char ch[]=s.toCharArray();
substring方法可以提取一部分字符串:
String e= “hello”;
String s=e.substring(0,3);//s为hel,substring方法括号内第二个数表示不复制的第一位,即提取从0开始,1, 2
字符串s.substring(a,b)长度=b-a。
2.字符串的拼接
如果一个字符串和非字符串拼接,后者被转换为字符串(任何一个对象都可以被转换为字符串)。
int age=13;
String s=“PG”+age;//s得到PG13
3.java中不能直接修改字符串,使用substring提取字符串,再拼接进行修改。
String a=e.substring(0,3)+“p”;//将hello变为help,通过修改字符串变量e,因为String对象为不可变字符串。通过复制一个字符串引用,其实,它们是共享这个池中的字符串的。
4.检测字符串是否相等
使用语句s.equals(t) s和t可以使字符串也可以是字符串变量,"hello".equals(e) 相同则返回true,不同则是flase
如果忽略大小写情况下检测字符串是否相等,使用equalsIgnoreCase
“hello”.equalsIgnoreCase(e)
==只能判断字符串是否存放在同一位置,因为当使用+或者substring方法时,只有字符串常量共享,产生的结果不共享,使用==判断字符串是否相等很有可能出错。
length方法返回给定字符串所需代码单元数量
String e= “hello”;
int h=e.length();//为5
StringBuilder类重要的方法