1.字符串的定义:字符串是一个引用类型,String是一个类,它并不是一个基本数据类型
2.字符串的使用
1)构造字符串的方式:下面是两种构造字符串的方式
String str = "";
String str = new String(参数);
2)判断字符串是否相同,不能用==来判断,而是用.equals来判断,因为==判断的是地址
而我们对于字符串的相同只要其内容相同就可以了
3)字符创的主要方法操作:
字节数组转换为字符串
//小写字母a:97
//大写字母A:65
byte[] bytes = {65,98,99,65,98,99,65,98,99};
String str = new String(bytes,3,4);
System.out.println(str)
由于字符串是遵循ASCALL编码的,这个编码有128个值,以上便将字节数组转换成了字符串,输入的内容应该是AbcAbcAbc
字符数组转换成字符串:
//定义一个字符数组
char[] chars = {'a','b','c','d'};
String str1 = new String(chars);
System.out.println(str1)
以上输出的应该是abcd
把字符串的某一个位置的值取出来
String str ="abcd";
//表示把索引为1的字符取出来,也就是b
Char char = str.CharAt(1);
字符串转换成字节数组:
String str = "abcnd";
//获取了一个byte数组
Byte[] byte = str.getBytes();
返回当前字符在字符串的第一个位置的索引:
String str = "adfjlkasjdfauoeiwqrlkjewqlknfsdlkndfsaarew";
//返回的是一个int值
int index = str.indexOf("sjd");
System.out.println(index);
输出的是7
根据指定的内容对字符串进行拆分:
String str = "adfjlkasjdfauoeiwqrlkjewqlknfsdlkndfsaarew";
int index = str.indexOf("sjd");
//拆分字符串,以l为分界线拆分
String[] strs = str.split("l");
对字符串的截取操作:
// String str = "adfjlkasjdfauoeiwqrlkjewqlknfsdlkndfsaarew";
//从索引11开始截取,包括11
// String s = str.substring(11);
// System.out.println(s);
如果substring中传递了两个参数,则一个为开始截取的索引值,另一个为结束截取的索引值,但不包含结束的索引值
4)如果我们要对字符串频繁的进行添加操作,不要使用+号来添加字符串,因为每次添加都会对在内存中创造一个对象,
这不合理的占用了内存,如果要频繁添加,一般通过字符串容器StringBuffer来操作,如下:
StringBuffer sb = new StringBuffer();
for (int i = 0; i < 1000; i++) {
sb.append("a");
}
//把StringBuffer对象转换成字符串
String str1 = new String(sb);
//通过toString方法也可以做到相同效果
String str2 = sb.toString();