String 类
来源:互联网 发布:ae cc 2017 mac 中文 编辑:程序博客网 时间:2024/06/07 01:43
String str = “我是一个字符串”;
String str2 = new String(“我也是一个字符串”)
对于上面两种创建字符串的方式我来具体的分析一下:
1、 对于String来说,有一个特殊的String pool,专门存储字符串数据。
2、 String str = “我是一个字符串”的创建过程:首先、java会去到String pool 寻找有没有一个值为“我是一个字符串”的东西,如果有,则返回该东西的位置给str对象,如果没有,则创建一个,并且把位置返回。
3、 对于String str2 = new String(“我也是一个字符串”)来说,java是先在堆内存中创建一个 “我也是一个字符串”的内存区域,并且把该区域的位置返回给str2,接着,还会再一次的去String pool里面检查是否有一个值为“我也是一个字符串”的东西,若没有,则创建一个。
由此可知:
1、我们现在可以知道的是,直接吧一个字符串赋值给一个String对象时,该字符串最多创建一次或者0次,为 new String(“…”)会创建1次或者是两次字符串。
2、变量的名称都是存储在栈里面的。
3、我们所持的变量(str str2)只是一个具体对象的内存地址,这个地址也可以叫做句柄。
需要做出补充的是:
1、 String类已经对Object类的equals方法进行了覆盖
2、 在比较两个对象是否相等的时候,使用的用必须是equals方法,而不等使用“==”,我会在后续的写作中进行说明。
阅读全文
0 0
- String.String类
- String类
- String 类
- string类
- string类
- string类
- string 类
- string 类
- String类
- String类
- string类
- String类
- String类
- string类
- string 类
- String类
- string类
- string类
- Element type "Select" must be declared.
- php如何正则提取指定[]中的值
- 浏览器跨域问题解决办法
- Elasticsearch5.0 beta版本安装错误
- 【cmd】查看物理地址(查看mac地址)
- String 类
- classes can be instantiated explicitly or implicitly 明确和隐藏建立对象
- vue的ajax库 ----- vue-resource
- UICollectionView 基础全面解析
- 为什么还要读马克思?后续马克思博客转战博客园更新,周知
- React Native 的图片点击放大效果的组件使用 react-native-zoom-image
- 链表中倒数第k个结点
- 自定义UISearchBar
- c++ .h和.c文件理解