当前位置:网站首页>在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类型常量数组对字符串的每一位进行判断,如果相等则继续判断下一位。
边栏推荐
猜你喜欢
NVIDIA CUDA Highly Parallel Processor Programming (8): Parallel Mode: Histogram Calculation
受邀全球互联网技术大会分享
Unity—ParticleSystem (particle system) and Animator (animation state machine) batch manager
【图形学】09 UnityShader入门(一)
万级TPS亿级流水-中台账户系统架构设计
Problem solving about Unity's button event response error triggering UI events
golang 服务诡异499、504网络故障排查
软件工具 | 04.Typora搭配PicGo-Core实现用时间命名图片
Properties集合的介绍和使用
Kubernetes | 01.Kubenetes简介
随机推荐
tcpdump进行IP抓包
每日一题Day2
golang 服务平滑重启小结
Folder permission configuration for Unity local IIS service construction
【网络安全】SSL Pinning及其绕过
Day37------网络
大型直播平台应用架构浅谈
实现字符串转换为整数(atoi)
【图形学】03 数学部分(三、各种变换矩阵)
基于FTP协议的文件上传与下载
list set map queue deque stack 的遍历总结
Unity学习笔记 01 —— 常用API
re模块,初识爬虫,openpyxl模块
UGUI_编辑器扩展与常用优化
FileInputStream & BufferedInputStream之间的区别
Next主题美化
Binary tree traversal and method
How to get all child objects under an object in Unity
kubeadm init cannot find network namespace 错误
List、Set、Map、Queue、Deque、Stack遍历方式小结