当前位置:网站首页>在String类型的前提前下:使用“==“ 与equals的区别
在String类型的前提前下:使用“==“ 与equals的区别
2022-08-08 06:28:00 【记得爱蓝色】
"=="与equals在比较时,"=="注重的是对内存地址的比较,而equals 则更注重内容上的比较,强调值是否相等。
'''==''适用于 基本数据类型或者引用类型,通过在常量池中查找,如果没有则开辟一个新的内存空间,等下一次调用时直接在常量池中查找,
举一个例子:
public class Work01 {
public static void main(String[] args) {
String str1 = "bbb";
String str2 = "aaa";
System.out.println(str1 == str2); //false
System.out.println(str1.equals(str2)); //false
int a = 123;
int b = 123;
System.out.println(a == b); //true
}
}
但是在char类型的数组中,查找是否有目标元素时,可以使用“==”:
public class Demo09 {
public static void main(String[] args) {
char[] characters = { 'A', 'E', 'G', 'K', 'a', 'b', 'd', 'f', 'm' };
char target = 'a';
int low = 0, high = characters.length - 1;
int index = -1;
while(low <= high) {
int mid = (low + high) / 2;
if(characters[mid] == target) {
index = mid;
break;
}else if(characters[mid] > target) {
high = mid -1;
}else if(characters[mid] < target) {
low = mid + 1;
}
}
System.out.println(index);
}
}equals则更注重对字符串“值”的比较,通过自带的char类型常量数组对字符串的每一位进行判断,如果相等则继续判断下一位。
边栏推荐
- 万级TPS亿级流水-中台账户系统架构设计
- Nine common interfaces for implementing sequence table in C language
- HDU 6029 个人分析
- 【图形学】18 光照模型(三、镜面反射的Shader实现)
- 栈-实现一个简单的静态栈
- Unity object color gradient effect (judgment logic implementation)
- 如何规范的开发项目
- Binary tree traversal and method
- MySQL的DDL和DML
- Implementation of bubble sort in C language and optimization of bubble sort
猜你喜欢
随机推荐
The code in Unity HDRP dynamically modifies the skybox and other environment parameters
每日一题day44-45-46
Double week leetcode 84th game
【图形学】05 渲染管线基础
Gym 101492E Teamwork 伪dp解法
Day39------网络相关
【VMware】向物理机复制文件夹失败
正则表达式入门要点知识总结
【Excel】csv文件修改分隔符
Unity_条形图(柱状图)+ UI动画
Writing of Makefile (detailed example)
每日一题Day5
数据链路层------基于TCP/IP五层模型
异常捕获,生成器对象
每日一题Day40-41
【网络安全】SSL Pinning及其绕过
【爬虫】Web Scraper正则表达式
背包问题小结
受邀全球互联网技术大会分享
万级TPS亿级流水-中台账户系统架构设计







![[Unity] 状态机事件流程框架 (一)(C#事件系统,Trigger与Action)](/img/a7/bb79f2bd8c063e483e31892df24287.png)

