java的String类型的==和.equals()
来源:互联网 发布:淘宝超时发货赔付规则 编辑:程序博客网 时间:2024/05/21 01:30
使用Java的大家都知道,经常会使用到String类型
当然就少不了判断两个字符串是否相等的问题。
判断String类型相等有两种 str1==str2 和 str1.equals(str2) 都是判断str1是否和str2相等。
1. == 是判断两个变量是否指向同一个地方,即存储位置。也就是说是否引用同一个变量。
2. .equals() 是判断两个String类型字符串的内容是否一样。
public class CheckEqual {
public static void main(String[] args) {
// TODO Auto-generated method stub
String a = "tao" + "bao";
String b = "tao";
String c = "bao";
System.out.println(a==(b+c));
System.out.println(a.equals((b+c)));
}
}
其对应结果是:
当程序变成下面的:
public class CheckEqual {
private static final String Message = "taobao";
public static void main(String[] args) {
// TODO Auto-generated method stub
String a = "tao" + "bao";
String b = "tao";
String c = "bao";
System.out.println(a==Message);
System.out.println((b+c)==Message);
System.out.println((b+c).equals(Message));
}
}
结果不再是:
false
false
true
而是
何解呢?
关键就在于Message是静态变量,是存储在栈里面。而a则是指向存储taobao的那个位置,即静态变量Message的引用,所以a==Message是true
而(b+c)==Message则是相当于判断new String(b+c) == Message 两个不是指向同一个位置,则结果是false。
- 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和==比较的区别
- java:String使用equals和==比较的区别
- Java字符串String:equals方法和==的区别
- Java中String的==和equals区别
- java String之“==”和“equals”的区别
- java:String使用equals和==比较的区别
- PAT甲级 1008. Elevator (20)
- 4.4以上BaseActivity 设置状态栏背景
- mysql数据库中java的long转成时间
- 集成百度地图定位时初学者遇到的一些小坑
- 通过全志R16平台TINAV2.1下的LCD显示BMP图片(分色排版)V1.0版本
- java的String类型的==和.equals()
- JAVA中的关键字及作用
- liferay7项目搭建
- leetcode 100. Same Tree
- TestNG参数化测试之Excel读取数据
- 软件工程课程设计问题总结——医院门诊系统(一):serverlet中alert不弹窗&弹窗乱码
- vscode插件离线安装方法
- MFC控制:实现打开PPT详细步骤
- 杂念