字符串

字符串的内存问题

点击查看代码
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); } } //结果true、false、false
# 将字符串对象如何加入到常量池中
点击查看代码
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. 用于字符集的格式化 ![image](https://img2023.cnblogs.com/blog/2326800/202303/2326800-20230317204652674-913762386.png)
点击查看代码
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"; //获取指定位置字符(charArt()) char c =str1.charAt(0); System.out.println(c); //判断两个字符串的是否相同(内容和长度都一样),区分大小写(a.equals(b)) System.out.println(str1.equals(str3)); //判断两个字符串的是否相同(内容和长度都一样),不区分大小写(a.equalsIgnoreCase(b)) System.out.println(str1.equalsIgnoreCase(str2)); //字符串的格式化(String.format) System.out.println(String.format("%s,%s",str1,str2)); //获取字符串的字符编码(a.getBytes()) 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); //从左往右判断某个字符是否存在,返回该字符第一次出现的位置,如果没找到返回-1(str.indexOf()) System.out.println(str1.indexOf(".")); //从左往右判断某个字符是否存在,返回该字符第一次出现的位置,如果没找到返回-1(str.lastIndexOf()) System.out.println(str1.lastIndexOf(".")); //判断字符串是否为空,判断字符串长度是否为0(isEmpty) System.out.println(str1.isEmpty()); //字符串长度(str.length()) System.out.println(str4.length()); //替换(str.replaceAll()) String filePath = "d://file%20path//file%20path1"; filePath = filePath.replaceAll("%20"," "); System.out.println(filePath); //特殊字符要转义 String str6 =str1.replace("\\.","_"); System.out.println(str6); //分割字符串,变成一个数组(split) String strArr[] =str1.split("\\."); System.out.println(Arrays.toString(strArr)); //截取某一段(str.substring()) //1.从指定游标处截取到末尾 System.out.println(str5.substring(2)); //2.从指定游标1处开始,截取到指定游标2之前一位 System.out.println(str5.substring(2,4)); //大小写转换 //转大写(str.toUpperCase()) 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()); } }
posted @   卡卡罗特kk  阅读(19)  评论(0编辑  收藏  举报
相关博文:
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
展开