天天看点

关于String StringBuilder StringBuffer 类

1.String 类对象的不可更改性:

例如:String s=“welcome to java”;

s=”html”;

welcome to java 这个对象依然是存在的,html这个对象也是存在的,只不过现在s指向html 这个对象,虽然给s重新赋值,但是“welcome to java”这个String类对象没有被覆盖,而是一直都存在的,因此说String类对象具有不可更改性,一旦创建,便会永久存在。

2.关于String类的“==”和“equals”方法的说明:

String s1=”welcome to java”;

String s2=new String(“welcome to java”);

String s3=”welcome to java”;

if(s1==s2) false;

if(s1==s3) false;

if(s2==s3) true;

if(s1.equals(s2)) true;

if(s1.equals(s3)) true;

if(s2.equals(s3)) true;

说白了“==”和equals()方法是这样区分的:

“==”用于判定两个String类的对象是否有相同的引用;

equals()方法用于判定String类的对象是否有相同的内容。

3.Stirng类的常用方法:

  1. concat()方法:用于连接两个字符串,类似于“+”的作用,返回拼接之后的字符串。例:

    String s1=”welcome”;

    String s2=” to java”;

    String s3=s1.concat(s2); s3=”welcome to java”;

    String s3=s1+s2; s3=”welcome to java”;

    此处注意:“+”连接的两个对象至少有一个必须是字符串,而concat()方法的操作对象两个都必须是字符串;

  2. charAt(int index):返回对应下标的字符;

    isEmpty()与length()方法常用于判断循环;

    String[] split(String regex) 将字符串按regex标志分割成字符型数组;

    char[] toCharArray() 将字符串转换为字符型数组;

    valueOf(基本数据类型变量) 将任何基本类型数据转换为字符串,因为字符串的使用场合很多,常常要用到该方法转换不同的数据类型。当然,转出去的也可以转回来,应用基本数据包装类的

    parseInt(String s) parseByte(String s) 将字符串转换为基本数据类型。

4.StringBuilder和StringBuffer:任何有字符串的地方都可以用这两个类代替String类,而且这两个类是可以动态变化的

除了StringBuffer中修改缓冲区的方法是同步的之外,StringBuilder和StringBuffer类本身没有多大的区别,

常用到的方法如下:

append()在字符串尾追加任何类型的数据;

reverse() 方法用于将字符串反转,常用于判断回文串。

toString()方法,将动态长度的字符串转换为真正的字符串String 。