String类和StringBuffer类
Posted 梅岚纷飞
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了String类和StringBuffer类相关的知识,希望对你有一定的参考价值。
使用频繁的String类:String类是不可变对象,经常改变内容的字符串最好不要使用
有计算字符串长度length():这是一个方法,确定字符串的长度,返回字符串中的字符数,跟数组中属性length不同,是表明数组的大小
比较字符串equal():是重写了Object类中的equal()方法,是对字符串内容进行对比,不是对地址的对比,也就是是不是同一个对象,与“==”不同,“==”就是地址、对象的对比
比如:
String s1="java";
String s2="java";
String s3=new String ("java");
System.out.println(s1==s2); //返回true 因为String会到它的字符串池先找是否有这个变量值存在
System.out.println(s1==s3); //返回false 这里s3是一个对象,生成了字符串池中的一个对象,然后在到堆中再生成一个对象,所以s3就是生成了两个对象
System.out.println(s1.equal(s2)); //返回true
System.out.println(s1.equal(s3)); //返回true
关于大小写的方法:equalIgnoreCase(String s) 忽略大小写
toLowerCase() 将字符串变成小写
toUpperCase() 将字符串变成大写
trim() 去除两端的空格
字符串的连接方法:1.concat()
2."+"号连接,这个是字符串使用频繁的字符串的连接方法
indexOf(int ch) 搜索第一个出现的字符ch(或字符串value),如
indexOf(String value) 果没有找到,返回-1
lastIndexOf(int ch) 搜索最近一个出现的字符ch(或字符串value),如
lastIndexOf(String value) 果没有找到,返回-1
substring(int index) 提取从位置索引开始的字符串
substring(int beginindex,int endindex) 提取beginindex和endindex之间的字符串部分,包含起始位置,不包含后面,包前不包后
spil(String s) 以什么为拆分原则
append() 连接字符串
String的所有操作并不影响字符串本身,影响的是它的副本
StringBuffer类:对字符串频繁修改(如字符串连接)时,使用StringBuffer类可以大大提高程序员执行效率,经常改变的情况可使用StringBuffer,更高效
sb.toString() 转化为String类
sb.append(" * "); 追加字符串
sb.insert(1," * "); 插入字符串
不能把StringBuffer的直接赋给String类,需要转变类型
比如:
StringBuffer s2="aaa";
String s=s1.toString(); //StringBuffer变成String
StringBuffer s2=new StringBuffer("aab"); //String变成StringBuffer
以上是关于String类和StringBuffer类的主要内容,如果未能解决你的问题,请参考以下文章