目录
2、String str = new String("字符串");
3、String str = new String(new char[]{字符});
String类提供了多个构造方法,主要有以下三种
第一种双引号引起来的字符,先从字符串常量池里面找。如果找到就返回地址,如果没有找到就从字符串常量池里面创建,然后返回新创建对象的地址
第二种字符串构造方法,先从堆上创建一个字符串对象,然后双引号引起来的字符串从字符串常量池里面找,如果找到就返回字符串的地址给该字符串对象的value值,如果没有,就在字符串常量池里创建,然后返回字符串地址
第三种字符串构造方法,先从堆上创建一个字符串对象,然后创建一个字符数组,然后将这个字符数组拷贝一份后,将拷贝后的字符数组的地址给字符串对象,然后在看字符串常量池里面有么有,有就返回地址,没有就创建然后返回地址
这种比较对于引用类型比较的是两个对象的地址
语法:字符串1.equals(字符串2);
如果两个字符串相同返回true反之返回false
与equals使用方法相同,不过区别是equals比较时不会忽略大小写,这个方法则会忽略大小写
语法:字符串1.compareTo(字符串2);
类似于C语言里面的strcmp,返回值是一个整数
与前一个不同的是,compareTo比较时不会忽略大小写,而这个方法会忽略大小写
语法: char ch = str.charAt(n);
语法:int index = str.indexOf(a);
语法:int index = str.index(a,n);
语法:int index = str.indexOf(s);
语法:int index = str.indexOf(s,n);
语法:int index = str.lastIndexOf(a);
语法:int index = str.lastIndexOf(a,n);
语法:int index = str.lastIndexOf(s);
语法: int index = str.lastIndexOf(s,n);
语法:String str = String.valueOf(数值);
除了整形浮点型数值外,boolean与引用类型也可以转为为字符串
语法:int data = Integer.parseInt(str);
double data = Double.parseDoub(str);
……
如果要将字符串按不同的进制转为数值,只需要在pareInt方法的第二个参数传入对应的进制数即可
转大写:String str = s.toUpperCase();
转小写:String str = s.toLowerCase();
语法:char[] ch = str.toCharArray();
语法:String str = String.format("%d-%d-%d",2002,20,20);
在后续输出字符串str时就会以格式进行输出
语法:replace(dest,src)
dest:将要被替换的
src:被代替成的
语法:replaceAll(dest,src)
与上面的方法相同都是将字符串里的dest全部替换
语法:replaceFirst(dest,src)
只替换字符串里第一次出现的dest
以上字符串替换函数使用时,自身没有改变,而是new了一个新的字符串
String[] str = s.split(字符):
String[] str = s.split(字符,要拆几个组);
String[] str = s.split(字符1|字符2);
如果要按字符'*','+','|‘来拆分,要加上转义字符”\\"
str.subString(n);
s.subString(n,m)
n到m是左闭右开的区间,并且要注意不能越界