字符串的内存问题
点击查看代码
copy
public static void main(String[] args) {
String str1 = "卡卡罗特";
String str2 = "卡卡罗特";
String str3 =new String("卡卡罗特");
String str4 =new String("卡卡罗特");
System.out.println(str1==str2);
System.out.println(str1==str3);
System.out.println(str3==str4);
}
}
# 将字符串对象如何加入到常量池中
点击查看代码
copy
public static void main(String[] args) {
String str1 =new String("卡卡罗特");
String str2 = "卡卡罗特";
String str3 =str1.intern();
System.out.println(str2==str3);
}
}
结果:true
**注意:把一个在堆中的字符串加入到常量池当中,如果没有,则新建,如果有,返回该地址**
# 字符串的常用api
## 注意:
1. String的本质是一个char类型的数组
2. 他是一个最终类
3. 他可以被序列化(暂时先了解一下,不用背)
4. 用于字符集的格式化

点击查看代码
copy
package com.qf.deom06;
import java.io.UnsupportedEncodingException;
import java.util.Arrays;
public class Test {
public static void main(String[] args) throws UnsupportedEncodingException {
String str1 ="WWW.QF.COM";
String str2 ="www.qf.com";
String str3 ="www.qf.com";
char c =str1.charAt(0);
System.out.println(c);
System.out.println(str1.equals(str3));
System.out.println(str1.equalsIgnoreCase(str2));
System.out.println(String.format("%s,%s",str1,str2));
String str4 ="我是卡卡罗特";
byte b[]=str4.getBytes();
System.out.println(Arrays.toString(b));
byte[] data =str4.getBytes("UTF-8");
System.out.println(Arrays.toString(data));
String str5 =new String(data,"iso-8859-1");
System.out.println(str5);
data =str5.getBytes("iso-8859-1");
System.out.println(Arrays.toString(data));
str5 =new String(data,"UTF-8");
System.out.println(str5);
System.out.println(str1.indexOf("."));
System.out.println(str1.lastIndexOf("."));
System.out.println(str1.isEmpty());
System.out.println(str4.length());
String filePath = "d://file%20path//file%20path1";
filePath = filePath.replaceAll("%20"," ");
System.out.println(filePath);
String str6 =str1.replace("\\.","_");
System.out.println(str6);
String strArr[] =str1.split("\\.");
System.out.println(Arrays.toString(strArr));
System.out.println(str5.substring(2));
System.out.println(str5.substring(2,4));
String fname = "studentName";
String firstName =String.valueOf(fname.charAt(0)).toUpperCase();
System.out.println(firstName+fname.substring(1));
System.out.println(str1.toLowerCase());
String str7 = " a b c ";
System.out.println(str7.trim());
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步