大家好,这是我的第一篇博客,作为即将入职的学生,我现在的心情是既好奇又兴奋,对未知的职场生活充满了无限的憧憬,也想赶紧对大学生活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是新申请的内存块,而==判断的是对象的地址而非值,所以不一样。

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

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

原文:http://www.cnblogs.com/hikarisama/p/5967060.html

java中从str1中删除所有str2_Java中str1.equals(str2)和str1==str2的区别相关推荐

  1. Linux 中如何复制和删除文件夹中的所有文件?

    Linux 中如何复制和删除文件夹中的所有文件? 1.复制文件 目标文件目录必须存在 (1) 直接复制 cp /hone/user/temp/test.c /home/user/ (2) 复制并重命名 ...

  2. 如何在Windows中的命令提示符下删除特定目录中的文件/子文件夹

    本文翻译自:How to delete files/subfolders in a specific directory at the command prompt in Windows Say, t ...

  3. oracle删除表空间中的表,ORACLE删除表空间中的所有表

    ORACLE删除表空间中的所有表,如果是非sysdbA连接用如下sql语句 declare vsql varchar2(200); cursor c1 is select 'drop table '| ...

  4. mysql中关于表的删除和表中数据的删除

    1.删除表(drop属于DDL语句) 格式:drop table 表名 2.删除表中的数据(delete属于DML语句,truncate属于DDL语句) 第一种方式:delete from 表名 wh ...

  5. LeetCode算法 删除有序数组中的重复项 删除有序数组中的重复项|| C++

    目录 题目 删除有序数组中的重复项 参考答案 题目 删除有序数组中的重复项|| 参考答案 题目 删除有序数组中的重复项 给你一个有序数组 nums ,请你原地删除重复出现的元素,使每个元素只出现一次 ...

  6. 怎么删除mysql表中数据_如何删除数据库表中的数据?

    删除数据库表中数据有两种方式: 第一种:delete from tablename where 1=1; 第二种:truncate  table tablename; 区别是:第二种清空表数据比较及时 ...

  7. 如何用cmd命令进行:①删除文件夹中指定文件;②删除文件夹中所有文件;③删除文件夹。

    [cmd删除文件夹里的文件] 1.以"管理员身份"运行cmd 2.命令:del+文件夹中文件的路径 注意:强制删除命令:del /F /S /Q E:\CloudMusic\22. ...

  8. Java中ArrayList问题:删除一个ArrayList中的重复元素,注意留意一个问题

    该问题有两种方法: 一 利用两个数组,此法简单,不讨论 二 利用一个数组,从第0个开始依次取元素,并在其后元素中查找是否有该元素,有则删掉后面的重复元素,依次遍历.---但是这种情况要特别注意,当后续 ...

  9. java清空文件夹_java 删除文件夹中的所有内容而不删除文件夹本身的实例

    package com.xx; import java.io.File; public class Test { public static void main(String[] args) { St ...

最新文章

  1. 太阳系“首个星际访客”未被探测到人工信号
  2. 331. Verify Preorder Serialization of a Binary Tree
  3. 圆方圆学院零基础入门学习Python(绝对干货,值得学习)
  4. Android之在TextView里面部分文字变颜色并且可以点击
  5. 深度学习(三十三)CRF as RNN语义分割-未完待续
  6. Python扩展库scipy中值滤波算法的应用
  7. Web前端页面设计流程及注意事项,谨记!
  8. C++之关键字(63个)
  9. 荣耀30S首销全平台夺冠 赵明:满足消费者对5G的所有需求和想象
  10. 用opencv进行图像处理-之用matplotlib显示
  11. java计算机毕业设计基于安卓Android微信的团务智慧管理小程序uniAPP
  12. 二重积分计算曲面表面积
  13. 【AI创新者】图森未来CTO侯晓迪:定义问题比解决问题更重要
  14. 用html做一个漂亮的网站,个人网页,css
  15. 微型计算机原理与应用第三版王克义编著
  16. 裸眼3D大屏,打破人们的认知
  17. 高考生男生学铁路好还是计算机好,男生学铁路什么专业好?附铁路最好的5个专业...
  18. 大促中为什么需要可视化监控大屏?
  19. ppt在线模版_ppt美化大师
  20. Setting 模块之辅助功能

热门文章

  1. 关于realarm210 realarmTest.apk不能直接安装问题解决方法
  2. 不存在从node到node*的适当转换函数_C++构造函数和初始化表
  3. 基于消息队列 RocketMQ 的大型分布式应用上云最佳实践
  4. 云原生消息、事件、流超融合平台——RocketMQ 5.0 初探
  5. 让评审人爱上你的8个要点
  6. 如何从 0 到 1 开发 PyFlink API 作业
  7. 消息队列之延时消息应用解析及实践
  8. php mysql 字段备注_MySQL下读取 表/字段 的说明备注信息
  9. No-5.变量的命名
  10. [WPF]使用Fody提高效率