区别:

String s1 = new String(“hello”)会创建2个对象,首先是new String(“hello”)会创建一个字面量对象保存到字符串常量池中,然后在堆内存中申请内存存储String类型的对象,地址值赋给引用 s1;s1会去方法区的常量池中找有没有“hello”,如果有的话会将s1的引用地址指向常量池的“hello”

String s = “hello”由于上述过程,常量池中已经存储了一个hello,此时只需要将hello所在空间的地址值赋给引用 s;

因为   ==   比较的是内存地址是否相同,s1和s是在堆内存中的两个不同地址的引用,所以结果是false

此后又新建s2对象并赋值s,相当于把s复制一份取名s2;因为s2指向的也是常量池中的“hello”,所以s2的引用地址和s的地址一样

因为.equals是比较两个字符串内容是否相同,所以s.equals(s1)为true

回顾:

==,比较运算符,可以比较基本类型,也可以比较引用类型。

  • 比较基本类型时,比较的是值是否相同
  • 比较引用类型时,比较的是地址值是否相同

equals方法,是Object类中的方法,只能比较引用类型

  • 没有重写时,比较的是地址值
  • 重写后,一般比较的是引用所指的对象的内容

Java中 String s = new String(“hello“)和String s = “hello“的区别相关推荐

  1. java中操作字符串都有哪些类,他们之间有什么区别?

    java中操作字符串的类有哪些? String StringBuffer StringBuilder 区别 我们可以先看一下这几个类的继承关系图 从类的继承关系上来开的话,String和StringB ...

  2. Java中public,private,protected以及default的访问权限区别

    ** Java中public,private,protected以及default的访问权限区别 ** 首先,从public的字面意思上就能够知道public所指的是公共的,从而我们可以知道publi ...

  3. Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?

    Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别? Java 中访问数据库的步骤 1)注册驱动: 2)建立连接: 3)创建Statement: 4)执 ...

  4. Java中利用MessageFormat对象实现类似C# string.Format方法格式化

    我们在写C#代码的时候常常会使用到string.Format("待格式化字符串{0},{1},....",参数1,参数2,...),来格式化字符串,特别是拼接字符的时候,这种方式使 ...

  5. Java中字符串的学习(一)String类的概述及常见方法使用

    转载请注明出处http://www.cnblogs.com/devtrees/p/4347079.html (拓展:Api:编程语言对外给我们提供的应用程序接口.) 一.概述: 我们平时上网发帖,帖子 ...

  6. Java中WeakReference,SoftReference,PhantomReference和Strong Reference之间的区别

    很长一段时间以来,WeakReference和SoftReference都已添加到Java API中,但是并不是每个Java程序员都熟悉它. 这意味着在Java中使用WeakReference和Sof ...

  7. java中Class对象详解和类名.class, class.forName(), getClass()区别

     一直在想.class和.getClass()的区别,思索良久,有点思绪,然后有网上搜了搜,找到了如下的一篇文章,与大家分享. 原来为就是涉及到Java的反射----- Java反射学习 所谓反射 ...

  8. java中implements是什么意思_Java:extends和implements的区别+用法

    Java代码中的extends和implements让我感到很迷惑,现在终于弄明白它们之间的区别和用法了. //定义一个Runner接口 public inerface Runner { int ID ...

  9. java中strings1等于s2_s1,s2都是String对象,说说表达式s1==s2与s1.equal(s2

    s1,s2都是String对象,说说表达式s1==s2与s1.equal(s2 (2009-10-20 21:33:58) 标签: 杂谈 问题:s1,s2都是String对象,说说表达式s1==s2与 ...

  10. java中实现同步的两种方式:syschronized和lock的区别和联系

    转载自 http://www.cnblogs.com/xiohao/p/4151408.html Lock是java.util.concurrent.locks包下的接口,Lock 实现提供了比使用s ...

最新文章

  1. 微信小程序图标不支持html,微信小程序实现自定义加载图标功能
  2. 【Android 安全】DEX 加密 ( DEX 加密原理 | DEX 加密简介 | APK 文件分析 | DEX 分割 )
  3. numpy 笔记:改变形态
  4. html5 table删除修改,一个可以增加和删除行的table并可编辑表格中内容
  5. java8 hadoop_java8-模拟hadoop
  6. 世界级数学家加入华为,曾获菲尔兹奖 网友:终于知道数理化的重要了
  7. ThinkPHP V5.0.5漏洞_ThinkPHP 5.x 远程命令执行漏洞分析与复现
  8. C 语言:我不是针对谁,我是说在座的都是乐色
  9. 网络采集软件核心技术剖析系列(1)---如何使用C#语言获取博客园某个博主的全部随笔链接及标题...
  10. Linux vsftpd配置大全
  11. 尽点力,虽然也不一定有用
  12. 附加数据库及配置ODBC的方法
  13. 论文模型构建的步骤_论文实证经验分享|VAR模型实操步骤(下)
  14. 永磁同步电机死区补偿C语言代码
  15. RouterOS之DDNS(动态域名)
  16. Android必备回顾:4、单例模式深究
  17. 华为手机NFC模拟加密的门禁卡详细教程
  18. 微分中值定理定义及几何意义
  19. 基于微信小程序实现番茄钟专注时间项目演示【附项目源码+论文说明】
  20. 从智能监理到个人随身智能应用,尽情体验tooz智能眼镜

热门文章

  1. Python数据可视化第四节-图表样式美化实例
  2. JWT Token、ID Token、Access Token、Refresh Token
  3. 数字电路_2. 各类触发器
  4. 记录-关于网站的欢迎页,初次进入可见欢迎页,再次进入就直接显示主页了
  5. 玖月:如果真的能够穿越回到过去,我可能只会给自己一个微笑
  6. chrome审查元素功能
  7. HTML5游戏开发经验及开发工具分享
  8. 多传感器融合定位三-3D激光里程计其三:点云畸变补偿
  9. linux web 网站搭建
  10. python统计小说人物出现次数_使用python统计《三国演义》小说里人物出现次数前十名,并实现可视化。...