java 字符串String比较 equals ==
来源:互联网 发布:过年淘宝打折吗 编辑:程序博客网 时间:2024/06/06 08:27
一、==和equals区别
==:
在比较对象时比较的是引用地址是否相同;
在比较基本类型时比较的是其内容。
equals:
比较的是内容,而不比较其引用。
如果对象不同,而内容相同,”==”返回false,equals返回true
String s1 = new String("aaa");String s2 = new String("aaa");// s1与s2不是同一个对象System.out.println(s1==s2); //falseSystem.out.println(s1.equals(s2)); //true
如果是同一引用,”==”返回true,equals返回true
String s1 = new String("aaa");String s2 = s1;//s1和s2是同一个地址的引用System.out.println(s1==s2); //trueSystem.out.println(s1.equals(s2)); //true
String类似基本类型使用
Java中有8种基本数据类型(字母开头小写),即boolean、byte、short、char、int、float、long、double,基本数据类型不是对象,放在堆栈中,用完就销毁,访问速度快。而对象放在堆中。如果必须用到对象Java针对每种基本数据类型提供了包装类,即Boolean、Byte、Short、Character、Integer、Float、Long、Double(开头大写)等。
String s1 = "aaa";String s2 = "aaa";// s1与s2是类似类型System.out.println(s1==s2); //trueSystem.out.println(s1.equals(s2)); //true
为啥产生如上结果?
直接等号赋值是放入内存池的,其它变量也可以引用;new初始化分配内存空间,不可引用。
String s=”a”和String s=new String(“a”)是有本质上的区别的。前者是在字符串池里写入一个字符’a’,然后用s指向它;后者是在堆上创建一个内容为”a”的字符串对象。
如果String缓冲池内不存在与其指定值相同的String对象,那么此时虚拟机将为此创建新的String对象,并存放在String缓冲池内。如果String缓冲池内存在与其指定值相同的String对象,那么此时虚拟机将不为此创建新的String对象,而直接返回已存在的String对象的引用。
二、其他
String s;是没有初始化的引用,只是给s分配一个内存空间;
String s=null;为空引用,是分配的空间中存储的值为空值 ;
String s=”a”;是在字符串池里写入一个字符’a’,然后用s指向它。
- Java String 字符串 比较 == equals
- java 字符串String比较 equals ==
- Java 字符串比较 .equals, ==
- 初学JAVA简谈字符串String存储的以及字符串值的比较(==运算符以及equals())
- java中的string equals 与 == 的比较
- java中的string equals 与 == 的比较
- java和c#中的String equals == 比较
- java中的string equals 与 == 的比较
- java中的string equals 与 == 的比较
- java中的string equals 与 == 的比较
- java中的string equals 与 == 的比较
- java中的string equals 与 == 的比较
- java的String的equals方法和"=="比较
- Java比较String ==和equals() 解析
- java中的string equals 与 == 的比较
- java:String使用equals和==比较的区别
- java:String使用equals和==比较的区别
- java:String使用equals和==比较的区别
- Struts2.x不同版本的filter-class配置有区别
- pdo分页
- 微信公众号基础04_分享和录音功能的实现
- Oracle数据库基础概念
- 学习笔记12月以前
- java 字符串String比较 equals ==
- 微信公众号基础05_公众号项目部署
- 人工智能图
- [Leetcode] 486. Predict the Winner 解题报告
- 设计模式的分类
- python中相对路径
- 《剑指offer》刷题笔记(时间空间效率的平衡):数组中的逆序对
- 用户注册案例(MVC三层结构&SQL)
- 怎么在eclipse环境中,使用JSP页面代码在WebContent下面创建目录