`
yy_gy
  • 浏览: 35309 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

new String和String中的equlas VS. ==

阅读更多
在JAVA中,String的使用:
1.String a = "abc";
2.String b = "abc";
3.String c = new String("abc");

以上的区别:

1中只会创建一个对象"abd",并把"abc"存放在字符常量池中,当2又要赋值"abc"时,则会从字符常量池中搜索看是否已存在,如果存在,则直接指向"abc"。而对于3,则会创建两个对象,分布式new String 和 "abc"。 new String 存放在堆内存中。


equals vs.==

综合上述所介绍的String初始化的区别,equals 与 == 的区别可以从如下代码结果中分析得出:

String str = new String("abcd");

//此时输出为true
System.out.println(str.equals("abcd"));

//此时输出为false
System.out.println(str == "abcd");

//此时输出为true
String str = "abcd";
System.out.println(str == "abcd");

对于指向对象类型的变量,如果要比较两个变量是否指向同一个对象,即要看这两个变量所对应的内存中的数值是否相等,这时候就需要用 == 操作符进行比较;
比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用 == 操作符。

equals方法是用于比较两个独立对象的内容是否相同。

如果一个类没有自己定义equals方法,那么它将继承Object类的equals方法,Object类的equals方法的实现代码如下:
boolean equals(Object o){
return this==o;
}
分享到:
评论

相关推荐

    java equlas

    equals 的简单介绍,对与equals有一个更加清晰的认识,可以参考

    Java中==运算符与equals方法的区别及intern方法详解

    ==运算符、equals方法和intern方法都是Java中的重要概念,它们之间的区别和联系是Java程序设计语言中的一個非常重要的知识点。 知识点: 1. ==运算符:比较两个对象是否是同一个对象。 2. equals方法:比较两个...

    .net 命名空间总结

    在.NET Framework或.NET Core/Standard中,命名空间(Namespace)是组织类和其他类型的一种逻辑分组方式,旨在帮助开发人员管理和避免名称冲突。本篇文章将深入探讨.NET中的命名空间,并通过一系列具体的示例来解释...

    基于prototype的validation.js发布2.3.4新版本,让你彻底脱离表单验证的烦恼

    增加validate-ajax以支持ajax验证 增加validate-pattern直接通过正则表达式的认证 修改validate-equlas以验证密码与确认密码的问题 增加less-than与great-than的验证以支持开始日期与结束日期相比较的问题 增加...

    (源码)基于CS架构的轻量化分布式存储系统.zip

    # 基于CS架构的轻量化分布式存储系统 ## 项目简介 本项目是一个轻量化的分布式存储系统,采用CS架构设计,支持快速存取4MB到50GB的文件。系统分为客户端和服务端两部分,客户端负责文件的上传和下载,服务端负责文件的存储和管理。通过优秀的策略选择算法和分布式存储机制,系统能够高效地处理大文件和小文件的存储和传输。 ## 项目的主要特性和功能 分布式存储支持在多台服务器上分布式存储文件,提高存储容量和可靠性。 快速存取采用高效的策略选择算法,确保文件的快速存取。 文件切片支持将大文件切片存储,提高传输效率和可靠性。 多线程处理服务端采用多线程处理文件分块,提高并发处理能力。 自启动服务服务端支持自启动服务,方便管理和维护。 文件生成脚本提供文件生成脚本,方便测试和验证系统的传输速度和可靠性。 ## 安装使用步骤 ### 1. 环境准备 确保系统满足以下要求 CMake > 2.8.8

    小区开放对改善城市道路通行能力评估分析.pdf

    小区开放对改善城市道路通行能力评估分析.pdf

    中国区域创新能力评价报告【一级指标数据集】【更新至2024年】手动汇总

    中国区域创新能力评价报告【一级指标数据集】【更新至2024年】【手动汇总】

    便民医院挂号小程序的设计与实现+Java、小程序+医院挂号、小程序挂号

    随着信息化的发展,信息化和医疗的深度融合势在必行,当前很多国内外大型医院已经在信息化上面有很多投入,取得了一定成效。但是中小医院和乡镇卫生所等一线诊疗机构的信息化程度仍然有待提高,挂号成为了影响人们就诊的第一道坎,尤其是在疫情复发呈现点多线长面广的态势下,利用微信小程序的挂号系统对患者就诊和疫情防控都有重要意义。本文通过多方调研和访谈的方式,在分析了现有挂号系统的优劣之后,提出使用微信小程序实现挂号系统,可以有效降低用户使用负担,提升患者使用体验。经过分析,系统的主要功能有患者登录、患者注册、医生登录、医生管理、患者挂号、医生诊断的功能,经过系统规划和设计,使用用例图、实体关系图等多种方式完成了对系统的设计,经过测试,系统达到了建设目标。

    利用MOC设计最小长度二维平面钟形喷嘴Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    视频帧提取:将视频流切分为连续的帧 关键点提取:使用姿态估计模型(如 YOLOv8)提取每一帧中的人体关键点 时间序列数据构建:将每一帧的关键点位置(如肩膀、膝盖、头部等)作为特征,形成一个时间序

    视频帧提取:将视频流切分为连续的帧。 关键点提取:使用姿态估计模型(如 YOLOv8)提取每一帧中的人体关键点。 时间序列数据构建:将每一帧的关键点位置(如肩膀、膝盖、头部等)作为特征,形成一个时间序列。 LSTM 模型训练:使用 LSTM 模型来学习摔倒的时序模式。 摔倒判定:通过训练好的 LSTM 模型,实时分析时间序列,判断摔倒事件。

    Git 和 Github 的终极指南

    github Git 和 Github 的终极指南 文章亮点: Git 简介 Git 存储库结构 Github 的 通过 HTTPS 或 ssh 访问 Github 中央仓库 使用 git – 重要的 Git 命令

    MD5在线解密网站源码-集成多接口进行解密

    MD5在线解密网站源码_集成多接口进行解密

    集中式加密货币交易平台的设计与实现:系统架构、安全机制及优化策略

    集中式加密货币交易平台的设计与实现:系统架构、安全机制及优化策略

    lezhin_release_3588140.apk

    lezhin_release_3588140.apk

    手机卡号推广商城源码v1.31带后台/修复自助开通分站功能

    手机卡号推广商城源码v1.31带后台,修复自助开通分站功能。带有后台管理功能,可以添加产品和发布弹窗公告,非常适合开展号卡代理业务。该程序的源码十分精简,代码清晰易懂,即使没有编程经验的人也能够轻松上手使用。 该程序还配有一个弹窗公告功能,可以让你在网站上发布通知或广告信息,提高用户的活跃度和转化率。同时,该程序还支持在管理后台添加和编辑产品信息,方便管理者进行产品推广。总的来说,这是一款非常实用的号卡推广程序。 需要注意的是,该程序中有些外部文件未保存本地,建议在使用之前提前保存到本地以免失效。 安装教程 1.将数据库文件导入数据 默认账号admin 默认密码123456 在后台点击右上角个人中心修改密码。 2.修改untils目录下conn.php文件 修改里面的数据库名字、密码即可 3.后台地址为 域名/ssk 4.默认主站域名前缀:hao 如果要改主站域名前缀,到数据库info表格改domain字段,注意,不改的话,必须使用hao为域名前缀才能登录后台 5.开通分站域名在ktfz.php文件中修改一下网址即可 6.如果你网站开启了https,需要将css文件改

    用于十六进制到十进制转换的 Java 程序

    用于十六进制到十进制转换的 Java 程序

    db3e571e476144c4da6a0a3f1889b18a.part01

    db3e571e476144c4da6a0a3f1889b18a.part01

    php54-php-process-5.4.16-22.el6.centos.alt.x86_64.rpm

    php54-php-process-5.4.16-22.el6.centos.alt.x86_64.rpm

    华为市场管理流程指南(营销)-134页.pdf

    华为市场管理流程指南(营销)-134页.pdf

    php54-php-ldap-5.4.16-22.el6.centos.alt.x86_64.rpm

    php54-php-ldap-5.4.16-22.el6.centos.alt.x86_64.rpm

Global site tag (gtag.js) - Google Analytics