String类:
创建和操作字符串。【创建以后不能改变】, 每一次拼接都会产生新的字符串。
1.构建:可以赋空值
String name="下饭";
String[] arr=new String[20];
通过集合的方式构建:
ArrayList<String> strArray=new ArrayList<String>();
2.常用方法:
char=对象名.charAt(int index);//通过下标获取字符串中对应的值
"字符串A".equals("字符串B");//比较两个字符串是否相等 通过内容比较
indexOf("");//查找参数字符串 在当前字符串中出现的位置 从前往后
lastIndexOf("");
3.正则表达式 (详细见正则表达式详解)
字符串.matches("规则");
如果字符串满足定义的规则 那么返回true
4.replace(old,new);//拿新的字符串换旧的字符串
5.分割字符串split
String name="n,am,e,sdf";
String[] split = name.split(",");
for(String id:split) {
System.out.println(id);
}
注意:分隔| , + , * , ^ , $ , / , | , [ , ] , ( , ) , - , . 等字符,都要前面加上"\"
6.subString(beginIndex,endIndex);//返回字符串为该字符串的子字符串
7.StringBuffer
使用缓冲区解决每次拼接都产生新字符串的问题
StringBuffer的对象能够被多次修改,并且不产生新的字符串(线程安全)
8.
String name=" sdf";
name=name+"df";
System.out.println(name);//sdfdf
问题:既然String类型字符串不可更改,为什么又能打印出上述结果?
实际上原来的“sdf”字符串已经被丢弃了。