Java中String的使用
Java 中 String 类的使用
- 注意事项
- 创建 String 对象
- 常用接口
- charAt(index):
- 转整数
- String 对象的判等问题
注意事项
- String 不是 Java 的基本数据类型,是被封装好的对象
- 编译时能确定的 String 被存放到常量池,“能被确定的”指的是字面量或者final修饰的变量
- 直接 new 出来的 String 会指向堆里,但是同时也会检查常量池中是否已经存在,不在的话就会放一个到常量池里
- String 是不可变对象,原因可以看沉默王二的回答 - 知乎,考虑了缓存、安全性、线程等因素
- 如果想要频繁地改变一个字符串,可以使用 StringBuilder 或 StringBuffer 类
关于String 对象的判等问题,可以参考一文秒懂String对象的那些事
import java.math.BigInteger; public class test { public static void main(String[] args) { String he = "he"; // he 变量编译时无法确定 String llo = "llo"; // llo 变量编译时无法确定 String name0 = he + llo; // name0 编译时无法确定,+ 的内部逻辑是 new StringBuilder 然后 append String name1 = "hello"; // 在常量池中 String name2 = "hello"; // 直接引用常量池中已经创建的对象 String name3 = new String("hello"); // 在堆中创建,但是会瞅一眼常量池看看有没有 hello // 测试几个 name 是否指向相同 System.out.println("name0 == name1? " + (name0 == name1)); // false System.out.println("name1 == name2? " + (name1 == name2)); // true System.out.println("name1 == name3? " + (name1 == name3)); // false System.out.println(name1.charAt(0)); // 转整数 String number = "123"; int i=Integer.parseInt(number); System.out.println(i); BigInteger big = new BigInteger(number); System.out.println(big); } }
如果您有任何关于文章的建议,欢迎评论或在 GitHub 提 PR
作者:dutrmp19
本文为作者原创,转载请在 文章开头 注明出处:https://www.cnblogs.com/dutrmp19/p/15936940.html
遵循 CC 4.0 BY-SA 版权协议
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本