一、二者简介

如果是两个基本类型的数据,"=="是判断两个数值是否相等。在两个字符串中“==”是判断它们的内存地址是否相同,“equals()”方法是比较两个字符串是否一样,它们的结果都是布尔值。

例1:

boolean is = (123 == 123);

System.out.print(is);

其结果为true,因为这两个基本类型的数的值是相等的。

例2:

String str1 = "abc";

String str2 = "abc";

System.out.print(str1==str2);

其结果为true,因为这两个字符串都在字符串常量池中,只创建了一次,只保存了一个"abc"。因此其内存地址相同,其结果为true。

例3:

String str1 = "abc";

String str2 = new String("abc");

System.out.print(str1==str2);

其结果为false,因为str1是创建在字符串常量池中的,而str2是创建在堆中的。两个字符串的地址不一样。其结果自然为false。

例4:

String str1 = new String("abc");

String str2 = new String("abc");

System.out.print(str1==str2);

其结果为false,因为两个字符串是创建在堆中的两个不同位置,这两个字符串分别持有两个不同的地址,因此其结果为false。

对于equals()方法,只要两个字符串的内容相等。其结果就是true,否则为false。

如:

String str1 = "abc";//在常量池中创建

String str2 =new String("abc");//在堆中创建

boolean is = str1.equals(str2);//结果为true

System.out.print(is);

虽然这两个字符串保存的地址不一样。但它们的内容一样。所以结果为true。

java在字符串中“==”和“equals”的区别相关推荐

  1. java ==和===_java中==和equals的区别详解

    分析前基础了解: 一)JVM把内存划分成两种:一种是栈内存,一种是堆内存. ①在函数中定义的一些基本类型的变量和对象的引用变量(变量名)都在函数的栈内存中分配. ②当在一段代码块定义一个变量时,Jav ...

  2. 面试必问一:Java 中 == 和 equals 的区别你知道吗

    面试必问一:Java 中 == 和 equals 的区别你知道吗 前言 关于这个问题,一般初中级面试中都会遇到,还记得我当初实习找工作的时候也遇到了这个问题,现在都还记得自己是怎么回答的:== 是基本 ...

  3. Java中==和equals的区别,新手必会!

    ==的作用: 基本类型:比较的就是值是否相等 引用类型:比较的就是地址值是否相同 equals的作用: 引用类型:默认情况下,比较的是地址值 特殊:String.Integer.Date这些类库中的e ...

  4. java数字编程提,java从字符串中提取数字的简单实例

    随便给你一个含有数字的字符串,比如: String s="eert343dfg56756dtry66fggg89dfgf"; 那我们怎么把其中的数字提取出来呢?大致有以下几种方法, ...

  5. java读取字符串中数字

    java从字符串中提取数字 随便给你一个含有数字的字符串,比如: String s="eert343dfg56756dtry66fggg89dfgf"; 那我们如何把其中的数字提取 ...

  6. java从字符串中提取数字

    1.做一下操作时会一般会用到提取数字操纵: a.列表中有翻页,当新添加的数据不是放在第一条或者最后一条时,需要翻页并循环找到对应的那条数据 b.当新添加的数据放在第一条或者最后一条时,则不需要翻页,只 ...

  7. java 包含汉字,【转载】Java判断字符串中是不是包含汉字

    [转载]Java判断字符串中是否包含汉字 import java.util.regex.Matcher; import java.util.regex.Pattern; public class If ...

  8. Java求字符串中出现次数最多的字符

    Java求字符串中出现次数最多的字符  [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/details/51933611      Java ...

  9. java 包含汉字,java判断字符串中是否包含汉字

    java判断字符串中是否包含汉字 package com.zuidaima.util; /** [email protected] www.zuidaima.com **/ public class ...

最新文章

  1. 10月机器学习开源项目Top10
  2. 解析 Callable Runnable Future 使用和原理
  3. python的基本语句_Python的基本语句
  4. SharePoint 2010 文档库添加文件icon
  5. 哈尔滨__伏尔加庄园
  6. 场景数据的动态更新setDataVariance(osg::Object::DYNAMIC) (转)
  7. 动手动脑-Java重载
  8. .Net Core 2.2升级3.1的避坑指南
  9. Dagoin之modelform组件
  10. html5总结2000字,建筑识图实训总结2000字6篇范文
  11. 几何基础,多种矩阵的学习,世界坐标到屏幕坐标的两种转换方法,三种绘制方框的原理,hookd3d,hookopengl,骨骼透视,主播的秘密,FPS各种BT功能的原理 和检测对抗原理,UE4引擎,U3D
  12. iOS 整理iOS9适配中出现的坑
  13. VINS-Mono 代码解析——视觉跟踪 feature_trackers
  14. sourceTree 添加 ssh key 方法
  15. JavaScript基础-数组
  16. springboot整合jwt_springboot整合jwt实现身份验证
  17. noi国家集训队论文分类
  18. 聚合数据api的使用
  19. PHP之50个开源项目
  20. 开发一个最简单的iOS App

热门文章

  1. html自动增加vbs代码,vbs脚本病毒代码大全编步骤四个
  2. JavaFX居中问题
  3. vue在IE11中报错js语法错误2行字符1
  4. 关于Http协议的知识总结
  5. 几个小型数据库的比较
  6. 5GWiFi模组物联网支持WiFi探针2.4G+5.8G双频
  7. 物联网卡收费标准有哪些
  8. 联想智能引擎--一款PC算力智能调度和硬件智能管理软件
  9. 使用Behavior Designer插件简单制作NPC AI
  10. beego中log日志日期问题