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

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

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

Java中"str1.equals(str2)"和"str1==str2"的区别的更多相关文章

  1. 浅谈Java中的equals和==(转)

    浅谈Java中的equals和== 在初学Java时,可能会经常碰到下面的代码: 1 String str1 = new String("hello"); 2 String str ...

  2. 浅谈Java中的equals和==

    浅谈Java中的equals和== 在初学Java时,可能会经常碰到下面的代码: String str1 = new String("hello"); String str2 = ...

  3. 【Java学习笔记之二十九】Java中的"equals"和"=="的用法及区别

    Java中的"equals"和"=="的用法及区别 在初学Java时,可能会经常碰到下面的代码: String str1 = new String(" ...

  4. Java中的equals学习小结

    Java中的equals是十分重要的,和= =要区别开来,现在小结其主要内容,而且要将 = =和 equals列为重要的对比概念来学习 1.声明格式    public  boolean equals ...

  5. java中的 equals 与 ==

    Java中的"=="永远比较的是两个对象是否是同一个对象(引用指向同一块内存就是同一个对象) Java中equals() 在使用必须与类挂上钩,不能单独使用.有的人这样理解&quo ...

  6. 【转】浅谈Java中的equals和==

    浅谈Java中的equals和== 在初学Java时,可能会经常碰到下面的代码: String str1 = new String("hello"); String str2 = ...

  7. 【转】彻底弄懂Java中的equals()方法以及与"=="的区别

    彻底弄懂Java中的equals()方法以及与"=="的区别 一.问题描述:今天在用Java实现需求的时候,发现equals()和“==”的功能傻傻分不清,导致结果产生巨大的偏差. ...

  8. Java中的equals,==,compareTo和compare的比较

    Java中的equals(),==,compareTo()和compare() 首先只有==可以用作两个基本类型数据之间的比较,当然是值比较.当用作两个对象比较时,比较的是对象引用,而不是值比较. 其 ...

  9. java 中的equals()小结

    转载自http://www.cnblogs.com/jackyrong/archive/2006/08/20/481994.html Java中的equals是十分重要的,和= =要区别开来,最近在看 ...

  10. Java中的equals和hashCode方法

    本文转载自:Java中的equals和hashCode方法详解 Java中的equals方法和hashCode方法是Object中的,所以每个对象都是有这两个方法的,有时候我们需要实现特定需求,可能要 ...

随机推荐

  1. csp-s模拟测试85

    csp-s模拟测试85 $T1$全场秒切没有什么区分度,$T2$全场成功转化题意但是我并不会打,$T3$暴力都没打很遗憾. 100 00:21:49 02:56:35 02:56:49 135 02: ...

  2. SPSS数据编辑器界面 度量 名义 序号 标签

    SPSS数据编辑器界面 度量 名义 序号 标签 变量视图:变量视图用于管理变量的属性,包括变量名称,类型,标签,缺失值,度量标准等属性. 数据视图:数据视图用于管理录入的数据,一行表示一条记录在不同变 ...

  3. 使用APOC技术从MYSQL数据库导数据到Neo4j图数据库(JDBC)

                                                     Neo4j 数据导入 一.安装与部署Neo4j 直接在官网下载安装包安装,解压即可. 2.mysql ...

  4. 面试系列26 如何基于dubbo进行服务治理、服务降级、失败重试以及超时重试

    (1)服务治理 1)调用链路自动生成 一个大型的分布式系统,或者说是用现在流行的微服务架构来说吧,分布式系统由大量的服务组成.那么这些服务之间互相是如何调用的?调用链路是啥?说实话,几乎到后面没人搞的 ...

  5. java_递归

    递归:方法在有结束条件的情况下调用自己本身 public static void main(String[] args) { int i = shu01(5); System.out.println( ...

  6. ansible 安装及基本使用

    1.yum 安装 yum -y install epel-releaseyum -y install ansible ansible 配置秘钥 ssh-keygen -t rsa #直接回车不用设置密 ...

  7. 解决Spring Boot Configuration Annotation Processor not found in classpath

    问题截图: 解决方式: 在pom.xml文件中添加这些依赖 <dependency> <groupId>org.springframework.boot</groupId ...

  8. leetcode-154-寻找旋转排序数组中的最小值

    题目描述: 方法一: class Solution: def findMin(self, nums: List[int]) -> int: left, right = 0, len(nums) ...

  9. 网络编程(client发信息给server)

    client发信息给server

  10. thinkphp 模板赋值

    如果要在模板中输出变量,必须在在控制器中把变量传递给模板,系统提供了assign方法对模板变量赋值,无论何种变量类型都统一使用assign赋值. 大理石平台检定规程 $this->assign( ...