对于String类中的"abc"与new String("abc")的一些理解
来源:互联网 发布:淘宝到家是干嘛的 编辑:程序博客网 时间:2024/05/16 19:49
string类:
string类是引用是数据类型,但是在使用之前也要进行初始化,.
|--String中有很多方法:获取字符,字符串与字符数组之间的转换,以及获得子串,将字符串变成大写或者小写等等
String s1 ="abc";
String s2 = new String("abc");
对于这个问题,我想网上的说法应该是一大堆吧,这里涉及到了一个常量池的概念,String Pool.这个是干嘛的呢?
据我个人理解,是用来存储对象的,当再次去创建对象的时候,可以直接去常量池中匹配,如果有了所要创建的对象,那在常量池中就不会再分配内存了,直接两个对象共用一个地址值,
s1 是一个引用,"abc"是在常量池中的一个对象,我说了,如果常量池中没有,就会创建一个,也就是"abc"在常量池中会分配一段空间然后呢有一个地址值,这个地址值指向这个引用s1;
s2就不一样了,不一样体现在哪里呢?
我们来看一下,关键字new是用来干什么的,--->是不是用来创建对象用的.那么括号里的"abc"又是什么呢?---->是不是在常量池中的对象啊,
那好,我们来看一下:new 操作应该是在heap中创建对象,"abc"应该去常量池匹配对象,然后再将内容值传递给堆内存中的对象,而现在呢,堆内存中创建好了对象,此时产生一个地址值,这个地址值是指向s2的
由此可见
我们做如下操作判断一下真假:
sop(s1==s2);//false
sop(s1.equals(s2));//true
再说一下equals方法,其实呢,这个方法是复写了Object中的equals方法,因为equals方法是调用==方法的,当不用比较地址值的时候,只需要比较对象的内容值即可.
0 0
- 对于String类中的"abc"与new String("abc")的一些理解
- new String("abc")与String a="abc"的区别
- new String("abc")和“abc”的区别
- new String("abc")和“abc”的区别
- Java基础---对String s1="abc"和String s2=new String("abc")的理解
- Java中的String str="abc"; String str=new String("abc");和String str = new String();的区别以及==与equals()的不同。
- Java中的String str="abc"; String str=new String("abc");和String str = new String();的区别以及==与equals()的不同。
- String str1 = new String("abc")与 String str1 = "abc" 的区别
- 关于JAVA中String="abc"和String=new String("abc")的区别与联系
- String a = "abc" 与String b = new String("abc")的区别
- java String的面试点("abc"与new String("abc")的区别)
- String s1="abc";与String s2=new String("abc");-关于Java栈与堆的思考
- String s1="abc";与String s2=new String("abc"); 关于Java栈与堆的思考
- String s1="abc";与String s2=new String("abc");-关于Java栈与堆的思考
- 对于String s = new String("abc") 等问题引起的思考
- 从内存角度去分析String s1= "abc"与String s2 = new String("abc")的问题
- Java栈与堆 数据类型包装类的值不可修改 String a =“abc”和 String b = new String("abc")的区别
- String s1 = new String("abc"); String s2 = ("abc");
- 安卓面试中遇到的问题记录
- UVa 340 Master-Minds Hints(猜数字游戏的提示)
- 【HDU5156】Harry and Christmas tree,两种离线的做法
- MySQL性能优化的最佳20+条经验
- PL/SQL 程序包中的EXIT和RETURN
- 对于String类中的"abc"与new String("abc")的一些理解
- Hdu-5765 Bonds(状压)
- Android 多媒体中的音乐播放器编程
- 百度编辑器UEditor常用设置函数
- Gym 100952E E. Arrange Teams dfs、剪枝
- rename 表操作后index是否依然可用
- GLOBAL TEMPORARY TABLE
- 删除用户
- 大数据量、高并发量网站解决方案