Java的字符串
string
1.string概述
string类在java.lang包下,所以使用时不需要导包
string类代表字符串,Java程序中的所有字符串文字,比如(“abc”)都被实现为此类的实例,即,Java程序中的所有双引号字符串,都是string类的对象
字符串的特点
string的构造方法
最后一种其实没有使用构造方法的方式,而是直接给一个双引号扩起来的abc以直接赋值的方式来创建字符串对象
无参构造方法
String s1=new String();
用字符数组来构造方法
char [] chs={'a','b','c'};
String s2=new String(chs);
System.out.println("s2:" +s2);
会输出abc出来,因为是以字符数组的形式来构造字符串的
字节数组构造方法
byte [] bys={97,98,99};
String s3=new String(bys);
System.out.println("s3:" +s3);
会输出abc出来,因为在字节数组中,是以ascii码来存的
直接不用构造方法,使用直接赋值方法
String s4="abc";
System.out.println("s4: " +s4);
直接输出abc
推荐使用直接赋值的方式得到字符串对象
string对象的特点
直接赋值得到的对象是放在常量池的
因为string类是一个类,所以比较他的对象比较的也是他的地址值是否相同
如果我们要比较字符串的内容是否相同,是用equals()这个方法来比较的
方法原型
public boolen equals(形参为字符串);
直接使用s1.equals(s2)即比较s1与s2的值是否相同
因为返回值为boolen,所以输出是true/false
java的遍历字符串
s.charAt();可以获取字符串的每个字符值
定义方法时,要注意返回值类型和参数
java中的字符串拼接和c++的string一样!
可以到帮助文档去找各个类中的方法
String Builder
StringBuilder是一个可变的字符串类,我们可以把它看作一个容器,这里的可变是指StringBuilder对象中的内容是可变的。
所以,用他做拼接是不会创建一个新的对象的。
StringBuilder的构造方法
StringBuilder sb=new StringBuilder();
System.out.println("sb:" +sb);
相当于创建一个String类的对象,但是他是可变的,他也可以用sb.length();和其他string类的方法
如果要有内容,则在new的StringBuilder()的()里面加入内容
eg:StringBuilder("hello");
StringBuilder的添加和反转方法
sb.append("hello");
append返回对象本身指的是我使用了append后,sb的内容
也被改变成了append追加的内容
append的链式编程
sb.append("hello").append("world").append(123);
字符串反转
sb.reverse();
也是返回对象本身
StringBuilder和String的相互转换
1.StringBuilder转化为String
2.String转化为StringBuilder