首页 > 编程语言 >Java中“==”与“equals”在字符串比较中的应用与分析

Java中“==”与“equals”在字符串比较中的应用与分析

时间:2024-04-30 16:22:39浏览次数:31  
标签:Java String s2 s1 equals 字符串

package com.aiit.helloworld;

public class HelloWorld {

	public static void main(String args[]) {
		String s1="a"+"b";
		
		String s2=new String(s1);
		
		if(s1==s2)//false
			System.out.println("do it~~~");
		if(s1.equals(s2))//true
			System.out.println("just do it~~~");
	}

}
== 用于比较对象的引用(即内存地址)是否相同。

equals() 方法则是用于比较字符串的内容是否相等。

String s1="a"+"b" 这种方式创建的字符串会在字符串常量池中,而 String s2=new String(s1) 会在堆中创建一个新的对象,它们的内存地址是不同的

标签:Java,String,s2,s1,equals,字符串
From: https://www.cnblogs.com/itcq1024/p/18168244

相关文章

  • C/C++、Java 与 Python 中未初始化变量的处理比较
    在C/C++中,未初始化的变量的值是不确定的,可能是随机的。 在Python中,如果直接使用未初始化的变量,会引发NameError异常。Python要求变量在使用前必须进行赋值或初始化。 而在Java中,直接使用未初始化的局部变量会导致编译错误,必须先对变量进行初始化。 C++和Java在字......
  • 'org.springframework.web.filter.CharacterEncodingFilter' is not assignable to 'j
    问题描述:在写SSM项目中,配置前端控制器的时候发现错误'org.springframework.web.filter.CharacterEncodingFilter'isnotassignableto'javax.servlet.Filter,jakarta.servlet.Filter'一直爆红解决思路:在您的错误消息中,指出了org.springframework.web.filter.CharacterEn......
  • JavaScript数组
     JavaScript数组数组(Array)是属于内置对象,数组和普通对象的功能类似,都可以用来存储一些值。不同的是:普通对象是使用字符串作为属性名,而数组是使用数字作为索引来操作元素。索引:从0开始的整数就是索引。数组的存储性能比普通对象要好。在实际开发中我们经常使用数组存储......
  • Ubuntu apt安装Java
    ref:https://www.jianshu.com/p/ddf1195e6d9f安装jdk17要安装此版本,请先更新软件包索引:$sudoaptupdate接下来,检查Java是否安装:$java-version如果Java当前未安装,您将看到以下输出:找不到命令“java”,但可以通过以下软件包安装它:aptinstallopenjdk-11-jre-hea......
  • 关于JSON转字符串后前端与python得到的结果不一致的问题,及对象按key排序
    背景:哈希码参数校验防参数篡改。前端下发接口时对参数按约定秘钥和逻辑进行加密,后端在获取到请求后对请求参数以同样的秘钥和逻辑加密计算得出哈希值,再与请求的哈希值对比,如果不一致则证明参数被篡改。前端代码:对json对象进行了按key排序1letdataTmp=this.de......
  • java基础面试
    ThreadLocal:ThreadLocal并不解决线程间共享数据的问题ThreadLocal通过隐式的在不同线程内创建独立实例副本避免了实例线程安全的问题每个线程持有一个Map(ThreadLocalMap)并维护了ThreadLocal对象与具体实例的映射,该Map由于只被持有它的线程访问,故不存在线程安全以及锁的......
  • 记录springboot项目多module(java/scala)打包代码
    java项目不太熟,之前一直使用的idea中的打包方式:BuildArtifacts...,现在使用maven打包,一直报下面的common等依赖包找不到,花了很多时间,在此记录下解决过程。解决办法是先将依赖包deploy到远程仓库,然后在打包的时候先install,再package,就可以打包成功。但还有一个问题没解决:由于我的......
  • Go语言系列——数组和切片、可变参数函数、Maps、字符串、指针、结构体、方法、接口(一
    文章目录11-数组和切片数组数组的声明数组是值类型数组的长度使用range迭代数组多维数组切片创建一个切片切片的修改切片的长度和容量使用make创建一个切片追加切片元素切片的函数传递多维切片内存优化12-可变参数函数什么是可变参数函数语法通过一些例子理解可变参......
  • 引爆你的网页乐趣!前端十个令人捧腹的JavaScript整蛊代码。
    愚人节整蛊代码。想要在网页上增添一抹幽默与惊喜吗?或是想给你的朋友一个意想不到的“小惊喜”?那么,这十款简单而有趣的JavaScript前端整蛊代码绝对能满足你的需求!每一个代码都能让你的网页瞬间变得生动有趣。1,抖动页面在线效果演示:张苹果博客模拟页面抖动的动画效果。3秒后......
  • spring-web-mvc项目运行报错:java.lang.NoClassDefFoundError: org/apache/catalina/We
    使用idea运行spring-web-mvc项目时,报错如下:错误:无法初始化主类com.itranswarp.learnjava1.AppConfig原因:java.lang.NoClassDefFoundError:org/apache/catalina/WebResourceRoot 首先,保证当前项目在独立的项目中打开,不要在多个项目中运行。导入Maven工程要选择:File......