1.String字符串的内容是个常量,内容永不可变;正是因为字符串不可改变,所以字符串是可以共享使用的;字符串效果上相当于是 char[] 字符数组,但是底层原理是 byte [] 字节数组。
2.字符串常量池:程序当中直接写上的双引号字符串,就在字符串常量池中,如str1。
3. public static void main(String[] args) {
String str1 = “ABC”;
String str2 = “ABC”;
char [] chars = {‘A’,‘B’,‘C’};
String str3 = new String(chars);
System.out.println(str1 == str2); //结果为true
System.out.println(str2 == str3); //结果为false
}
注意:对于基本类型来说, == 是进行数值的比较;对于引用类型来说,== 是进行地址值的比较;双引号直接写的字符串在常量池当中,new的不在池当中。
4.如果需要字符串的内容比较,可以使用两个方法:区分大小写的: public boolean equals(Object obj); 忽略大小写,只进行内容比较:public boolean equalsIgnoreCase(string str); 代码如下:
public static void main(String[] args) {
String str1 =“java”;
String str2 = “java”;
String str3 = “Java”;
System.out.println(str1.equals(str2)); //结果为true
System.out.println(str1.equals(str3)); //结果为false
System.out.println(str1.equalsIgnoreCase(str3)); //结果为true
}
5.equals 注意事项:equals方法具有对称性,也就是 a.equals(b) 和 b.equals(a)效果一样;
如果比较双方一个常量和一个变量,推荐把常量字符串写在前面 ,推荐:“abc”.equals(str);
不推荐:str.equals(“abc”); 因为如果str是空值的话,会报错(空指针)。
6.String 中获取常用的几种方法:
public static void main(String[] args) {
String str =“hello wold”;
//拼接字符串
String str1 = str.concat(" LBJ");
System.out.println(str1); //结果为hello word LBJ
System.out.println(str.length());
//获取指定位置的字符
char s = str.charAt(4);
System.out.println(s);
//查找参数字符串在本来字符串中出现的第一次索引位置,如果没有返回-1值
int index = str.indexOf(“llo”);
System.out.println(index); //结果为2
System.out.println(str.indexOf(“LBJ”)); //结果为-1
}
7.String 中截取的方法:
public static void main(String[] args) {
String str =“helloworld”;
String s = str.substring(5);
System.out.println(s); //结果为 world
String a = str.substring(4, 7);
System.out.println(a); //结果为 owo
}
8.String 中转换的方法:
public class StringConvert {
public static void main(String[] args) {
String str =“湖人总冠军”;
//把字符串转换成字符数组
char[] chars = str.toCharArray();
System.out.println(chars.length);
System.out.println(chars[0]);
//把字符串转换成字节数
byte[] bytes = str.getBytes();
for (int i = 0; i < bytes.length; i++) {
System.out.println(bytes[i]);
}
//在王者荣耀中,屏蔽不良字眼
String str1 = “猴子,真菜,菜鸡”;
String lang = str1.replace(“菜”, “");
System.out.println(lang); //结果为:猴子,真,*鸡
}
9.String 切割方法:
String str1 =“aaa.bbb.ccc.ddd”;
String[] split1 = str1.split(”\."); //按 . 进行分割
注意事项:split方法的参数其实是一个"正则表达式"。
常用API--String用法
最新推荐文章于 2024-01-06 11:25:20 发布