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类的主要内容,如果未能解决你的问题,请参考以下文章

String类和StringBuffer类的区别

String类和StringBuffer类的区别

String类和StringBuffer类

String类 StringBuilder类和StringBuffer类 日期相关的类

String类和StringBuffer类

Java基础——数组应用之StringBuilder类和StringBuffer类