String str1 = new String("abc")与 String str1 = "abc" 的区别

来源:互联网 发布:战锤桌游淘宝 编辑:程序博客网 时间:2024/05/14 00:31

先看下面的程序:


public class Test{
    public static void main(String args[])
{
    String str1 = "abc";
    String str = "abc;
    String str2 = new String("abc");

    System.out.println(str1 == str2);
    System.out.println(str1.equals(str2));
    System.out.println(str == str1);
}
}

运行结果是:


第一句println输出的是false;而第二句则输出为true;但是第三句却是true。

有的人会误认为第一句应该是true的,但是事实却是false。这是因为第一句在进行“==”比较的时候比较的是两个指向,而不是具体指向的内容。而第三句在进行“==”比较的时候同样比较的是指向,但是他们的指向是相同的。这种现象出现的原因和字符串在内存中实例化的时候有关。


招收门徒(非免费):

技术特点:Java相关开发,web技术,ssh框架技术等

对象:想通过学习技术改变现状的

条件:有无基础都可以,只要你有学习的心

你得到的:1.技术支持,指导技术问题,教你项目开发经验
          2.学习方向指导
          3.内部就业推荐(腾讯,百度,金山,阿里巴巴,去哪儿网,深信服,大连地区等。本人有同学朋友就职于以上公司,人脉丰富)
          4.求职面试经验指导与分享
          5.招聘信息推荐
          6.业界最新动态推荐
          7.等等。。。不局限以上。。
当然,如果你是学生,可以指导课程设计,毕业设计。


联系方式:QQ:1044105374  非诚勿扰。。。验证:技术立身

人生信条:出来混的总得有两把刷子,技术立身!

0 0
原创粉丝点击