String的使用及其常用方法
程序员文章站
2022-03-12 16:03:12
...
首先String有不可变性,是final修饰的,一旦初始化便不可变,
String s1 = "SpringBoot";
String s2 = "SpringCloud";
String s3 = "SpringBootSpringBoot";//字面量
String s4 = "SpringBoot" + "SpringCloud";//两个字面量拼接 方法区的变量池中
String s5 = s1 + "SpringCloud";//变量名参与,在堆空间中
String s6 = "SpringBoot" + s2;
String s7 = s1 + s2;
System.out.println(s3 == s4);
System.out.println(s3 == s5);
System.out.println(s3 == s6);
System.out.println(s3 == s7);
System.out.println(s5 == s6);
System.out.println(s5 == s7);
System.out.println(s6 == s7);
//结果是: true false false false false false false
//因为字面量在方法区的常量池里面声明,是唯一的,s5是一个字面量和一个地址显然不等,地址是堆空间中
常用方法一
s1.length() //判断字符串s1的长度
s1.charAt(index) //取出指定索引处的字符
s1.isEmpty() //判断字符是否为空
String s3 = " learn java EE ";//learn java EE
String s4 = s3.trim();
s3.trim(); //将字符串前面和后面空格去掉,中间保持不变,用于登录是误填空格情况
s3.concat(" after SpringCloud");//字符串拼接(可以直接使用 + )
String s6 = "SpringBoot";
String s7 = "SpringCloud";
s6.compareTo(s7)
//比较两个字符串的大小
//前面大返回正数
s6.substring(0, 6);//Spring
//截取指定索引内的字符串
String s1 = "SpringBoot";
boolean b = s1.endsWith("Boot");
//判断是否以什么字符串结束
boolean b1 = s1.startsWith("Spring");
//判断是否以什么字符串开始
boolean b2 = s1.startsWith("Boot", 6);
//判断在索引处是否以什么字符串开始
String s2 = "Spring";
System.out.println(s1.contains(s2));
//判断是否包含这个字符串
System.out.println(s1.indexOf("Bo"));
//返回字符串第一次出现的索引
System.out.println(s1.indexOf("Bo",3));//从哪里开始
//返回字符串在指定位置以后第一次出现的索引
System.out.println(s1.lastIndexOf("B"));
//返回字符串最后次出现的索引
常用方法二
//替换字符串
String s1 = "SpringBoot";
String s2 = "SpringCloud";
String s = s1.replace("Boot", "Cloud");
//将string类型转换为int 类型(涉及拆箱)
String str1 = "123";
int i = Integer.parseInt(str1);
System.out.println(i);
//其他类型转换String
String str2 = String.valueOf(i);
System.out.println(str2);
//String类型转换为char
String str3 = "abc123";
char[] chars = str3.toCharArray();
for (int j = 0; j < chars.length; j++) {
System.out.println(chars[j]);
}
//char类型转换为String
char[] arr =new char[]{'h','e','l','l','o'};
String str4 = new String(arr);
System.out.println(str4);
//将String类型转换为Byte类型
String str1 = "abc123";
byte[] bytes = str1.getBytes();
System.out.println(Arrays.toString(bytes));
上一篇: jquery如何区分鼠标左键还是右键点击
下一篇: html5中的rem是什么