Scala—“==“和“equals“用法(附与Java对比)

news2024/12/18 11:51:41

Scala 字符串比较—"=="和"equals"用法


Scala 的 ==

  • 在 Scala 中,== 是一个方法调用,实际上等价于调用 equals 方法。
  • 不仅适用于字符串,还可以用于任何类型,并且自动处理 null
Demo:

在这里插入图片描述


Java 的 ==

  • 在 Java 中,== 比较的是两个对象的引用,而不是值。
  • 如果要比较字符串的值相等,必须使用 .equals 方法。
Demo:

在这里插入图片描述


Scala 的 .equals

  • 与 Java 的 .equals 一样,用于比较两个对象的值。
  • 如果一个对象是 null,直接调用 .equals 会抛出 NullPointerException,所以在 Scala 中通常更推荐使用 ==
Demo:

在这里插入图片描述


Tips:🤣🤣🤣

  • 在 Scala 中,优先使用 ==,更安全并且语义清晰。
  • 需要严格控制引用比较时,可以使用 eq(检查两个对象是否是同一个引用)。

在这里插入图片描述


功能Java ==Java .equalsScala ==Scala .equals
比较内容比较引用比较值比较值比较值
处理 null不支持,可能抛异常不支持,抛异常支持不支持,抛异常
推荐用法比较引用比较字符串值推荐可用但小心 null

一件三连呀列位彦祖们~🤣🤣🤣

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2261575.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Qt WORD/PDF(一)使用 QtPdfium库实现 PDF 预览

文章目录 一、简介二、下载 QtPdfium三、加载 QtPdfium 动态库四、Demo 使用 关于QT Widget 其它文章请点击这里: QT Widget 姊妹篇: Qt WORD/PDF(一)使用 QtPdfium库实现 PDF 操作 Qt WORD/PDF(二)使用 QtPdfium库实现…

优选算法——链表

1. 链表常用技巧和操作总结 2. 两数相加 题目链接:2. 两数相加 - 力扣(LeetCode) 题目展示: 题目分析:本题给的是逆序,其实降低了难度,逆序刚好我们从第一位开始加,算法原理其实就…

[蓝桥杯 2019 国 B] 排列数

目录 前言 题解 思路 疑问 解答 前言 对于本篇文章是站在别人的基础之上来写的,对于这道题作为2019年国赛B组的最难的一题,他的难度肯定是不小的,这道题我再一开始接触的时候连思路都没有,也是看了两三遍别人发的题解&#x…

Spring Boot 3.x:自动配置类加载机制的变化

随着 Spring Boot 3.x 版本的发布,Spring Boot 引入了一些关键的变更。其中最重要的一项变更是 自动配置类的加载机制。在之前的版本中,Spring Boot 使用 spring.factories 文件来管理自动配置类的加载。然而,在 Spring Boot 3.x 中&#xff…

arXiv-2024 | NavAgent:基于多尺度城市街道视图融合的无人机视觉语言导航

作者:Youzhi Liu, Fanglong Yao*, Yuanchang Yue, Guangluan Xu, Xian Sun, Kun Fu 单位:中国科学院大学电子电气与通信工程学院,中国科学院空天信息创新研究院网络信息系统技术重点实验室 原文链接:NavAgent: Multi-scale Urba…

(三)PyQT5+QGIS+python使用经验——解决各版本不兼容问题

一、问题描述 基础环境:Windows10(64) PyCharm2024 QGIS 3.22。 目的:解决之前python版本多,pyqt5以及QT Designer交互使用存在环境变量冲突矛盾,以及QGIS安装时自带python、pyqt5等问题。 尤其是在QT …

【OpenCV计算机视觉】图像处理——平滑

本篇文章记录我学习【OpenCV】图像处理中关于“平滑”的知识点,希望我的分享对你有所帮助。 目录 一、什么是平滑处理 1、平滑的目的是什么? 2、常见的图像噪声 (1)椒盐噪声 ​编辑(2) 高斯噪声 &a…

秒优科技-供应链管理系统 login/doAction SQL注入漏洞复现

0x01 产品简介 秒优科技提供的供应链管理系统,即秒优SCM服装供应链管理系统,是一款专为服装电商企业设计的全方位解决方案。是集款式研发、订单管理、物料管理、生产管理、工艺管理、收发货管理、账单管理、报表管理于一体的服装电商供应链管理解决方案。它涵盖了从企划到开…

快速掌握源码部署Filebeat

文章目录 1. 裸金属安装1.1 压缩包方式安装1.2 yum方式安装 2. docker安装3. K8s安装 项目使用了Filebeat,现在需要运行在ARM架构的服务器上,但是Filebeat官方没有提供,需要自己编译一份 filebeat等组件的源码地址 https://github.com/elasti…

ST-Linker V2 烧录器详解说明文档

目录 ST-Linker v2烧录器介绍 STM8烧录口 STM32烧录接口 JTAG烧录接口 ​​​​​​​ ​​​​​​​ ​​​​​​​ 编写不易,仅供学习,请勿搬运,感谢理解 ST-Linker v2烧录器介绍 图片中是两种IC芯片的烧录器&#x…

同三维TL201H2S4 4+2机手术互动录播主机产品

同三维TL201H2S4 42机手术互动录播主机产品 录制点播、直播导播、互动、音频处理器、中控等多功能为一体 6路视频输入:4路SDI1路HDMI1(4K30)1路(3选1:HDMI2/2路VGA) 2路视频输出:1路HDMI1(4K30)1路(2选1:VGA和HDMI2) 5路音频输入&#xf…

RabbitMQ实现网络分区

RabbitMQ实现网络分区 网络分区的判断应答时间范围判定方式日志方式命令查看监控页面提示API查看 模拟网络分区封禁端口封禁IP封禁网卡挂起恢复操作系统 网络分区的影响未配置镜像队列情况下已配置镜像队列情况下 处理网络分区手动处理恢复步骤挑选信任分区重启方式&#xff08…

一、LRU缓存

LRU缓存 1.LRU缓存介绍2.LRU缓存实现3.LRU缓存总结3.1 LRU 缓存的应用3.2 LRU 缓存的优缺点 1.LRU缓存介绍 LRU是Least Recently Used 的缩写,意为“最近最少使用”。它是一种常见的缓存淘汰策略,用于在缓存容量有限时,决定哪些数据需要被删…

【大前端vue:组件】鼠标上移 出现动画

【大前端vue&#xff1a;组件】鼠标上移 出现动画 <template><div class"view-introduction-culture"><div class"culture-wrapper"><h2 class"culture-title">鼠标上移&#xff1a;展示动画 显示出来</h2><di…

解决电脑网速慢问题:硬件检查与软件设置指南

电脑网速慢是许多用户在使用过程中常见的问题&#xff0c;它不仅会降低工作效率&#xff0c;还可能影响娱乐体验。导致电脑网速慢的原因多种多样&#xff0c;包括硬件问题、软件设置和网络环境等。本文将从不同角度分析这些原因&#xff0c;并提供提高电脑网速的方法。 一、检查…

快速本地化部署 OnlyOffice服务 ( Linux+Docker)

文章目录 一、OnlyOffice介绍&#x1f4d6;二、集成OnlyOffice&#x1f9e9;2.1 环境准备&#x1f5a5;️2.2 搜索镜像2.3 拉取镜像2.4 查看镜像2.5 创建容器2.6 进入容器配置2.7 重启服务2.8 添加字体字号2.9 测试OnlyOffice服务 三、在线预览office文档四、Cpolar内网穿透 一…

Leecode刷题C++之形成目标字符串需要的最少字符串数①

执行结果:通过 执行用时和内存消耗如下&#xff1a; 代码如下&#xff1a; class Solution { public:int minValidStrings(vector<string>& words, string target) {auto prefix_function [](const string& word, const string& target) -> vector<…

51c嵌入式~合集2

我自己的原文哦~ https://blog.51cto.com/whaosoft/11529950 一、不同的电平信号的MCU怎么通信 “电平转换”电路 ​ 先说一说这个电路的用途&#xff1a;当两个MCU在不同的工作电压下工作&#xff08;如MCU1 工作电压5V&#xff1b;MCU2 工作电压3.3V&#xff09;&#xf…

2024年第十五届蓝桥杯青少组C++国赛—割点

割点 题目描述 一张棋盘由n行 m 列的网格矩阵组成&#xff0c;每个网格中最多放一颗棋子。当前棋盘上已有若干棋子。所有水平方向或竖直方向上相邻的棋子属于同一连通块。 现给定棋盘上所有棋子的位置&#xff0c;如果要使棋盘上出现两个及以上的棋子连通块&#xff0c;请问…

Java线程池解读

Java 线程池是一个提供多线程管理和调度的工具&#xff0c;通常用来处理多个并发任务。线程池能够帮助有效管理线程的创建、调度、执行和销毁&#xff0c;避免频繁的线程创建和销毁&#xff0c;提高系统性能。 前言 Java 线程池是面试中的常客&#xff0c;面试官经常会问线程…