大家好,这是我的第一篇博客,作为即将入职的学生,我现在的心情是既好奇又兴奋,对未知的职场生活充满了无限的憧憬,也想赶紧对大学生活say goodbye,因为自己的能力现在还比较有限,我想通过博客这个平台来慢慢提升自己,我想发一些平常在Java或者其他领域经常使用到的知识,不仅是对你们有帮助,同时也是我自己的进步,谢谢大家了。虽然我知道可能有很多人发过类似的博客或者技术贴,但是我尽量还是用我自己的语言来描述,支持原版。好的,废话不多说,接下来就进入正题吧~

  我们直接从一个实例来开始我们今天的学习吧。

  我新建了一个class名为Test01

public class Test01 {

  public static void main(String[] args){
String a="helloworld";
String b="helloworld"; System.out.println(a.equals(b));
}
}

  大家看上述实例,答案会是什么呢,首先一点,我们要明白的问题是,不管是".equals()"还是"==",他的返回值是true或者是false,而不是0,1或者-1,所以上述实例的输出值最终为true。现在我们将输出的语句进行修改:

public class Test01 {

  public static void main(String[] args){
String a="helloworld";
String b="helloworld"; System.out.println(a==b);
}
}

  其输出值仍为true。

  大家都明白,"=="比较的是2个对象的地址,而".equals()"比较的是2个对象的内容,那这个区别究竟体现在那个地方呢,咱们看接下来的实例。

public class Test01 {

  public static void main(String[] args){
String a="helloworld";
String b="hello" +new String("world");
System.out.println(a.equals(b));
}
}

  大家觉得现在的输出是什么呢,没错,依然是true,因为".equals()"比较的是2个对象的内容,很明显不管是字符串a还是字符串b,他们的值没变,都是helloworld,所以返回的值依然是true,我们再看下一个实例。

public class Test01 {

  public static void main(String[] args){
String a="helloworld";
String b="hello" +new String("world");
System.out.println(a==b);
}
}

  没错,这个时候这个表达式的返回值就是false了。因为b2中的world是新申请的内存块,而==判断的是对象的地址而非值,所以不一样。 

  想要搞懂这个其实还是不难的,大家只要注意以后在编程中是需要进行如何的比较即可~

  希望我的分享对大家有帮助,以后我也会积极更新微博,不管是简单的或者是复杂的知识点,或者是我曾经做的项目之类的,我都会分享出我的经验,谢谢大家一起学习,共同进步。

最新文章

  1. iframe的sandbox使用
  2. Linux下文件的三种时间戳
  3. Qt ini配置文件读写
  4. IP地址的分类——a,b,c 类是如何划分的
  5. [51单片机] SPI nRF24L01无线 [可以放在2个单片机里实现通信]
  6. util-判断当前年份所处的季度,并返回当前季度开始的月份
  7. Linux -- Ubuntu搭建java开发环境
  8. STL string常用操作指令
  9. [原创] linux deepin 2014.1下编译putty
  10. SQL语句:Group By总结
  11. 2017-07-11(sync basename dirname )
  12. ASP.NET 页面双向静态化
  13. css3图片模糊过滤特效
  14. 铁大Facebook轻量化界面NABCD
  15. 3ds max学习笔记(九)-- 实例操作(路径阵列)
  16. 文献导读 | A Pan-Cancer Analysis of Enhancer Expression in Nearly 9000 Patient Samples
  17. SD从零开始09-10
  18. Fire Net HDU - 1045(二分匹配)
  19. jvm高级特性(4)(内存分配回收策略)
  20. UCanCode发布升级E-Form++可视化源码组件库2018全新版 !

热门文章

  1. (转)HttpURLConnection中设置网络超时
  2. nodejs与websocket模拟简单的聊天室
  3. virtualbox导入winXP系统OVA文件重启
  4. Java虚拟机性能管理神器 - VisualVM(6) 排查JAVA应用程序内存泄漏【转】
  5. node vue 微信公众号(三)启用本地服务器
  6. Idea安装Mevn
  7. 廖雪峰Java13网络编程-3其他-2RMI远程调用
  8. 字符串+dp——cf1163D好题
  9. 2-sat——输出方案poj3683
  10. LUOGU P2476 [SCOI2008]着色方案