java在字符串中“==”和“equals”的区别
一、二者简介
如果是两个基本类型的数据,"=="是判断两个数值是否相等。在两个字符串中“==”是判断它们的内存地址是否相同,“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”的区别相关推荐
- java ==和===_java中==和equals的区别详解
分析前基础了解: 一)JVM把内存划分成两种:一种是栈内存,一种是堆内存. ①在函数中定义的一些基本类型的变量和对象的引用变量(变量名)都在函数的栈内存中分配. ②当在一段代码块定义一个变量时,Jav ...
- 面试必问一:Java 中 == 和 equals 的区别你知道吗
面试必问一:Java 中 == 和 equals 的区别你知道吗 前言 关于这个问题,一般初中级面试中都会遇到,还记得我当初实习找工作的时候也遇到了这个问题,现在都还记得自己是怎么回答的:== 是基本 ...
- Java中==和equals的区别,新手必会!
==的作用: 基本类型:比较的就是值是否相等 引用类型:比较的就是地址值是否相同 equals的作用: 引用类型:默认情况下,比较的是地址值 特殊:String.Integer.Date这些类库中的e ...
- java数字编程提,java从字符串中提取数字的简单实例
随便给你一个含有数字的字符串,比如: String s="eert343dfg56756dtry66fggg89dfgf"; 那我们怎么把其中的数字提取出来呢?大致有以下几种方法, ...
- java读取字符串中数字
java从字符串中提取数字 随便给你一个含有数字的字符串,比如: String s="eert343dfg56756dtry66fggg89dfgf"; 那我们如何把其中的数字提取 ...
- java从字符串中提取数字
1.做一下操作时会一般会用到提取数字操纵: a.列表中有翻页,当新添加的数据不是放在第一条或者最后一条时,需要翻页并循环找到对应的那条数据 b.当新添加的数据放在第一条或者最后一条时,则不需要翻页,只 ...
- java 包含汉字,【转载】Java判断字符串中是不是包含汉字
[转载]Java判断字符串中是否包含汉字 import java.util.regex.Matcher; import java.util.regex.Pattern; public class If ...
- Java求字符串中出现次数最多的字符
Java求字符串中出现次数最多的字符 [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/details/51933611 Java ...
- java 包含汉字,java判断字符串中是否包含汉字
java判断字符串中是否包含汉字 package com.zuidaima.util; /** [email protected] www.zuidaima.com **/ public class ...
最新文章
- 10月机器学习开源项目Top10
- 解析 Callable Runnable Future 使用和原理
- python的基本语句_Python的基本语句
- SharePoint 2010 文档库添加文件icon
- 哈尔滨__伏尔加庄园
- 场景数据的动态更新setDataVariance(osg::Object::DYNAMIC) (转)
- 动手动脑-Java重载
- .Net Core 2.2升级3.1的避坑指南
- Dagoin之modelform组件
- html5总结2000字,建筑识图实训总结2000字6篇范文
- 几何基础,多种矩阵的学习,世界坐标到屏幕坐标的两种转换方法,三种绘制方框的原理,hookd3d,hookopengl,骨骼透视,主播的秘密,FPS各种BT功能的原理 和检测对抗原理,UE4引擎,U3D
- iOS 整理iOS9适配中出现的坑
- VINS-Mono 代码解析——视觉跟踪 feature_trackers
- sourceTree 添加 ssh key 方法
- JavaScript基础-数组
- springboot整合jwt_springboot整合jwt实现身份验证
- noi国家集训队论文分类
- 聚合数据api的使用
- PHP之50个开源项目
- 开发一个最简单的iOS App