java中string的相关知识点
2013-04-25 17:41
99 查看
创建字符串的方式很多,归纳起来有三类:
其一,使用new关键字创建字符串,比如String s1 = new String("abc");
其二,直接指定。比如String s2 = "abc";
其三,使用串联生成新的字符串。比如String s3 = "ab" + "c";
String对象的创建
String对象的创建也很讲究,关键是要明白其原理。
原理1:当使用任何方式来创建一个字符串对象s时,Java运行时(运行中JVM)会拿着这个X在String池中找是否存在内容相同的字符串对象,如果不存在,则在池中创建一个字符串s,否则,不在池中添加。
原理2:Java中,只要使用new关键字来创建对象,则一定会(在堆区或栈区)创建一个新的对象。
原理3:使用直接指定或者使用纯字符串串联来创建String对象,则仅仅会检查维护String池中的字符串,池中没有就在池中创建一个,有则罢了!但绝不会在堆栈区再去创建该String对象。
原理4:使用包含变量的表达式来创建String对象,则不仅会检查维护String池,而且还会在堆栈区创建一个String对象。
其一,使用new关键字创建字符串,比如String s1 = new String("abc");
其二,直接指定。比如String s2 = "abc";
其三,使用串联生成新的字符串。比如String s3 = "ab" + "c";
String对象的创建
String对象的创建也很讲究,关键是要明白其原理。
原理1:当使用任何方式来创建一个字符串对象s时,Java运行时(运行中JVM)会拿着这个X在String池中找是否存在内容相同的字符串对象,如果不存在,则在池中创建一个字符串s,否则,不在池中添加。
原理2:Java中,只要使用new关键字来创建对象,则一定会(在堆区或栈区)创建一个新的对象。
原理3:使用直接指定或者使用纯字符串串联来创建String对象,则仅仅会检查维护String池中的字符串,池中没有就在池中创建一个,有则罢了!但绝不会在堆栈区再去创建该String对象。
原理4:使用包含变量的表达式来创建String对象,则不仅会检查维护String池,而且还会在堆栈区创建一个String对象。
相关文章推荐
- java学习笔记-String相关知识点
- java 反射相关的知识点
- String相关知识点
- Java1.8 json string 转换相关整理(二)
- java 日期的格式化、解析、数据库相关操作、获取系统时间、String与Date的转换
- Java String相关
- [每天一个知识点]4-Java语言String.format
- JAVA中clone()相关知识点
- JAVA 执行 DOS相关知识点
- Java堆、栈和常量池以及相关String的详细讲解(经典中的经典)
- Java知识点整理:第八章:String 字符串、正则表达式
- Java字符串String相关
- Java堆、栈和常量池以及相关String的详细讲解(经典中的经典)
- Java堆、栈和常量池以及相关String的详细讲解
- 黑马程序员——java的String相关类
- Java知识点<5> String , StringBuilder , StringBuffer
- java--流程控制、数组、面向对象相关备忘知识点
- java集合相关知识点
- 黑马程序员——14,String相关知识点
- Java笔记(1)-数据类型的相关知识点