String类
1.位于java.lang包
2.是java提供的一个类,是引用数据类型
3.String类是最终类,在创建后不能被更改
String类的常用方法
1.求字符串的长度
length();
2.字符串的比较
1.equals();
比较两个字符串对象是否一致(比较的是内容,已经被重写)
2.equalsIgnoreCase();
比较时忽略大小写
3.toLowerCase();
将字符转换为小写,不考虑非字母
4.toUpperCase();
将字符转换为大写,不考虑非字母
3.去掉两端的空格
trim();
4.字符串的连接
1.直接使用“+”
2.concat()方法
字符串常用的提取方法
1.public int indexOf(String value)
返回指定子字符串第一次出现的字符串内的索引,未找到时返回-1
2.public int laseIndexOf(String value)
返回指定子字符串的最后一次出现的字符串中的索引,从指定索引开始向后搜索
3.public String subString(int index)
返回一个字符串,从index位置到最后
4.public String subString(int start,int end)
返回一个字符串,从start位置(包含start)end位置(不包含end)
5.public String trim()
返回一个字符串,去掉两端空格
字符串创建原理
情况一:
String s1 = "hello";
String s2 = "helllo";
System.out.println(s1.equals(s2));//true
System.out.println(s1==s2);//true
情况二:
String s1 = "hello";
String s2 = new String("helllo");
System.out.println(s1.equals(s2));//true
System.out.println(s1==s2);//false
情况三:
String s1 = new String("hello");
String s2 = new String("Helllo");
System.out.println(s1.equals(s2));//false
System.out.println(s1==s2);//false
如何查找特定字符的出现次数
方法1:
1.使用subString()方法将字符串打散存储在数组中
2.遍历数组进行比较
方法二:
1.循环数组长度
2.使用charAt(i)将字符串中的每个字符与其进行比较
方法三:
1.使用indexOf()方法找到第一个字符出现得位置
2.使用subString()方法截取后面部分
3.循环操作,直到indexOf()返回为-1
字符串的拆分
split();
返回值为字符串数组
split(separator,limit);
separator可选,根据指定正则表达式来拆分
limit可选,限制返回值长度
String、StringBuffer、StringBuilder对比
1.String
1.长度不可变
2.操作时会产生新对象
3.进行插入删除时效率低
2.StringBuffer
1.长度可变
2.操作时是对数据本身进行操作,不会产生新对象
3.操作时比String效率更高
4.多线程安全的
3.StringBuilder
1.长度可变
2.操作时是对数据本身进行操作,不会产生新对象
3.单线程时操作比StringBuffer效率更高
4.非线程安全的
注意:
1.方法体中使用StringBuilder
2.定义属性时必须考虑线程安全问题,所有方法都可能使用到,考虑使用StringBuffer