🌈hello,你好鸭,我是Ethan,西安电子科技大学大三在读,很高兴你能来阅读。
✔️目前博客主要更新Java系列、项目案例、计算机必学四件套等。
🏃人生之义,在于追求,不在成败,勤通大道。加油呀!
🔥个人主页:Ethan Yankang
🔥推荐:史上最强八股文||一分钟看完我的几百篇博客
🔥温馨提示:划到文末发现专栏彩蛋 点击这里直接传送
🔥本篇概览:详细讲解了运行时数据区中的方法区(或堆)中的String的基本特性——字符串常量池。🌈⭕🔥
【计算机领域一切迷惑的源头都是基本概念的模糊,算法除外】
🌈章节引出:
前一篇章:
🌈章节速览:
在 Java 程序中String 类的使用几乎无处不在,String 类代表字符串,字符串对象可以说是Java 程序中使用最多的对象了。首先,在Java中创建大量对象是非常耗费时间的。其次,在程序中又经常使用相同的字符串对象,如果每次都去重新创建相同的字符串对象将会非常浪费空间。最后,字符串对象又具有不可变性,(即字符串对象一旦创建,内容和长度是固定的),既然这样,那么字符串对象完全可以共享。所以就有了StringTable 这一特殊的存在,StringTable叫作字符串常量池,用于存放字符串常量,这样当我们使用相同的字符串对象时,就可以直接从StringTable中获取而不用重新创建对象。本章对于开发人员意义重大,弄懂字符串常量池及其字符串的相关内容,对程序优化至关重要。
12.1 String的基本特性
12.1.1 String类概述
String 是字符串的意思,可以使用一对双引号引起来表示,而 String 又是一个类,所以可以用 new 关键字创建对象。因此字符串对象的创建有两种方式,分别是使用字面量定义和new的方式创建,如下所示:
●字面量的方式:String s1=“atguigu”;
●new 的方式创建:String s2=new String(“hello”);
String类声明是加final修饰符的,表示String类不可被继承,String类实现了Serializable接口,表示字符串对象支持序列化;String类实现了Comparable接口,表示字符串对象可以比较大小。
12.1.2 String的不可变性
String是不可变的字符序列,即字符串对象具有不可变性。例如,对字符串变量重新赋值、对现有的字符串进行连接操作、调用 String的replace 等方法修改字符串等操作时,都是指向另一个字符串对象而已,对于原来的字符串的值不做任何改变。
💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖💖
热门专栏推荐
🌈🌈计算机科学入门系列 关注走一波💕💕
🌈🌈CSAPP深入理解计算机原理 关注走一波💕💕
🌈🌈微服务项目之黑马头条 关注走一波💕💕
🌈🌈redis深度项目之黑马点评 关注走一波💕💕
🌈🌈JAVA面试八股文系列专栏 关注走一波💕💕
🌈🌈JAVA基础试题集精讲 关注走一波💕💕
🌈🌈代码随想录精讲200题 关注走一波💕💕
总栏
🌈🌈JAVA基础要夯牢 关注走一波💕💕
🌈🌈JAVA后端技术栈 关注走一波💕💕
🌈🌈JAVA面试八股文 关注走一波💕💕
🌈🌈JAVA项目(含源码深度剖析) 关注走一波💕💕
🌈🌈计算机四件套 关注走一波💕💕
🌈🌈数据结构与算法 关注走一波💕💕
🌈🌈必知必会工具集 关注走一波💕💕
🌈🌈书籍网课笔记汇总 关注走一波💕💕
📣非常感谢你阅读到这里,如果这篇文章对你有帮助,希望能留下你的点赞👍 关注❤收藏✅ 评论💬,大佬三连必回哦!thanks!!!
📚愿大家都能学有所得,功不唐捐!