当前位置: 首页 > news >正文

java基础 之 equals和==的区别

文章目录

      • 浅谈“==”
        • 特点
        • 比较基本类型
        • 比较引用类型
      • 浅谈“equals”
        • 背景和使用
        • 重写equals
        • 自定义类为什么需要重写equals方法
      • 总结
      • 附录代码及文章推荐

前言:
1、8大基本数据类型,它们的值直接代表了某种数据,不是对象的实例,不能使用new来为基本数据类型创建对象
2、引用地址相同,值一定相同;值相同,引用地址不一定相同。即相同内容的对象地址不一定相同,但是相同地址的对象内容一定相同

本文主要以Person类为例,完整的类代码放在了文章末尾【附录代码】处了

浅谈“==”

特点
  • == 为运算符,比较的是两个对象的引用,如果一致,返回为true
  • == 可以比较基本类型(基本类型指向的是其值本身),比较的是值,但是需要注意float和double的比较
比较基本类型
  • int、short、long、double、float的比较
    // 比较的如果是基本类型,指向的都是地址为300的堆
    // 在Java中,‌300和300.0是等价的。‌这是因为Java支持自动类型转换,‌包括从整数类型到浮点类型的转换。
    // ‌当整数300被赋值给一个浮点类型的变量时,‌Java会自动将其转换为浮点数300.0。
    int a = 300;
    short b = 300;
    long c = 300L;
    double d = 300.00d;    // System.out.println(aa):300.0
    float f = 300.0f;		// System.out.println(bb):300.0
    System.out.println(a==b);   // true
    System.out.println(a==c);   // true
    System.out.println(b==c);   // true
    System.out.println(d==f);   // true
    System.out.println(a==d); // double与long类型比较:true// 对于double和float类型来说,小数点后有数值,其实他们的精度是不同的,所以虽然数值显示一样,但其实是不一样的
    double aaa = 300.01d;   // System.out.println(aaa):300.01
    double bbb = 300.01f;   // System.out.println(bbb):300.010009765625
    System.out.println(aaa==bbb);  // false
    
  • 如果是基本类型的包装类使用,要注意戳这里 → java的128陷阱
比较引用类型
  • 比较的是两个对象的地址。即使是值相等,但是引用地址不同,同样返回false
// Person类内容可以看文章最后的【附录代码】部分
Person person1 =new Person("abc",12,"181");
Person person2 = new Person("abc",12,"181");
Person person3 = person1;
System.out.println(person1==person2);  // false
System.out.println(person1==person3);  // true

1、person1 和person2都是在堆中新建的对象,即使内容一样,但是他们地址不同;
2、person3的引用跟person1的引用是同一个,所以地址相同,内容自然也想通
3、如果我们想要让person1和person2相等,那么这时候需要的是equals了~~

浅谈“equals”

背景和使用
  • 在Java中,equals方法是Object类的一个方法,用于比较两个对象是否相等。源码如下
    在这里插入图片描述
  • 由上边可以看到Object类使用的equals功能同**==**。在java中,想正确使用equals方法,需要对该方法覆盖重写。
  • 所以我们想要实现person1和person2一样需要重写Person类中的equals方法
重写equals
  • 重写equals的注意事项

    1、自反性原则。对于任何非空引用A,‌A.equals(A)应该返回true。‌
    2、对称性原则:‌如果A.equals(B)返回true,‌那么B.equals(A)也应该返回true。‌即equals方法的比较应该是双向的
    3、传递性原则:‌如果A.equals(B)和B.equals©返回true,‌那么A.equals©也应该返回true。‌
    4、一致性原则:‌对于任何非空引用A,‌只要对象的不变属性没有改变,‌多次调用A.equals(B)应该始终返回相同的值。‌
    5、非空性原则:‌对于任何非null的引用值A,A.equals(null)应该返回false
    6、HashCode的重写:‌建议重写equals方法的类同时也重写Object类的GetHashCode方法。‌这是因为如果两个对象根据equals方法是相等的,‌那么它们的哈希码(‌HashCode)‌也应该相同。‌

  • java中已经重写equals的类

    String类、Integer类

  • 自定义类重写equals

    • 未重写equals前(以Person类为例)
      public static void main(String[] args) {Person person1 =new Person("abc",12,"181");Person person2 = new Person("abc",12,"181");Person person3 = person1;System.out.println(person1.equals(person2));  // falseSystem.out.println(person1.equals(person3));  // true
      }
      
    • 对Person类重写equals()方法
      // 以Person类为例,完整的Person类代码可参看文章最后的【附录代码】
      @Overridepublic boolean equals(Object o) {if (this == o) return true;if (!(o instanceof Person)) return false;Person person = (Person) o;return Objects.equals(getName(), person.getName()) && Objects.equals(getAge(), person.getAge()) && Objects.equals(getPhone(), person.getPhone());}
      
    • 重写equals后
      public static void main(String[] args) {Person person1 =new Person("abc",12,"181");Person person2 = new Person("abc",12,"181");Person person3 = person1;System.out.println(person1.equals(person2));  // trueSystem.out.println(person1.equals(person3));  // true
      }
      
自定义类为什么需要重写equals方法

通过上边Person类的演示,我们可以看到重写equals()方法前后的区别。
一般我们比较对象的时候,不会去比较引用地址,都是直观的来比较对象的值。

总结

  • == 为运算符;equals为引用类型的比较方法,继承自Object类,未重写前功能同 ==
  • == 可以比较基本类型和引用类型,equals只能比较引用类型
  • 比较值相等时,建议使用equals,但是需要注意自定义类需要重写equals方法
  • ==equals 运行速度快,因为 == 比较的是引用地址而不是值。

附录代码及文章推荐

  • Person类
    import java.util.Comparator;
    import java.util.Objects;public class Person{String name;  // 姓名Integer age;  // 年龄String phone; // 性别// get()和set()方法public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public String getPhone() {return phone;}public void setPhone(String sex) {this.phone = phone;}// 构造方法public Person() {}public Person(String name, Integer age, String phone) {this.name = name;this.age = age;this.phone = phone;}@Override// 重写equals()方法public boolean equals(Object o) {// 引用地址相等,直接返回trueif (this == o) return true;// Object o类型不是Person,直接返回false;if (!(o instanceof Person)) return false;Person person = (Person) o;// 依次判断属性的值是否相等。String为引用类型,使用equals;int为基本类型,使用 == return Objects.equals(getName(), person.getName()) && Objects.equals(getAge(), person.getAge()) && Objects.equals(getPhone(), person.getPhone());}// 重写hashCode()方法@Overridepublic int hashCode() {return Objects.hash(getName(), getAge(), getPhone());}@Override// 重写toString()方法,方便打印public String toString() {return "Person{" +"name='" + name + '\'' +", age=" + age +", phone='" + phone + '\'' +'}';}
    }
    
  • 文章推荐:
    Java中的equals方法详解:比较方法

相关文章:

java基础 之 equals和==的区别

文章目录 浅谈“”特点比较基本类型比较引用类型 浅谈“equals”背景和使用重写equals自定义类为什么需要重写equals方法 总结附录代码及文章推荐 前言: 1、8大基本数据类型,它们的值直接代表了某种数据,不是对象的实例,不能使用n…...

学习STM32(1)--Keil软件安装与基本操作和Keil 软件高级应用

目录 1 引 言 2 实验目的 3 实验内容 3.1 认识单片机和STM32 3.2 安装、认识软件Keil和硬件STM32F103开发板 3.3 学习调试工程 3.4 Keil工程软件的配置 4 深入解析 思考一 1.以项目“12-GPIO输出—使用固件库点亮LED”为例子,认识本地工程文件夹&#xf…...

独立开发者系列(37)——理解async和await

1.理解同步与异步 同步就是执行某个任务A-B-C-D,就是严格按照顺序执行,可以理解为正常的代码逻辑,如果运行的代码都不是很消耗时间的情况系啊,同步可以减少编程的复杂度。但是对于请求远程服务结果的这种服务,如果同步…...

在C#中为图片添加数字水印的几种办法

最近在写个人项目时,有遇到需要将图片加上水印防止被盗取的需求。这里找了几种实现方式,可供有需要的朋友参考。 本身我不是搞算法这块的,所以这里只是找了一些实现,也没有继续深究下去。 以前在学校的时候从书上了解过可以将一…...

Vue的学习(二)

目录 一、class及style的绑定 1.v-bind:class绑定类名 绑定class为对象 ​编辑2. v-bind:class绑定类名 绑定class为对象 3.v-bind:class绑定类名 绑定class为数组 1) v-bind:class绑定类名 绑定class为数组 方法一: 2) v-bind:class绑定类名 绑定class为数组…...

PointNet和PointNet++论文解读

目录 一、导言 二、PointNet介绍 三、PointNet网络结构 1、损失函数 2、正则化 四、PointNet 1、分层次的点集抽象层 一、导言 PointNet来自CVPR2017,是最早直接处理点云数据用于计算机视觉的模型,并运用于分割、检测、场景理解任务,P…...

Pytest测试报告生成专题

在 pytest 中,你可以使用多个选项生成不同格式的测试报告。以下是几种常用的生成测试报告的方法: 1. 生成简单的测试结果文件 你可以使用 pytest 的 --junitxml 选项生成一个 XML 格式的测试报告,这个报告可以与 CI/CD 工具集成。 pytest --junitxml=report.xml这将在当前…...

【在Python中读取Excel文件内容】

在Python中读取Excel文件内容,常用的库有xlrd(主要用于读取.xls文件,但不支持.xlsx的较新版本),以及openpyxl(专门用于读取和写入.xlsx文件)和pandas(提供了一个更高级别的接口来处理…...

尚品汇-首页三级分类实现-nginx静态代理生成的静态页面(二十六)

目录: (1)问题详解 (2)首页商品分类实现 (3)修改web-all模块 (4)页面渲染 (1)问题详解 (2)首页商品分类实现 前面做了…...

HTML 段落

HTML 段落 概述 HTML&#xff08;超文本标记语言&#xff09;是构建网页的标准语言&#xff0c;而段落是构成网页内容的基本单元。在HTML中&#xff0c;段落是通过<p>标签来定义的。本文将详细介绍HTML段落的相关知识&#xff0c;包括段落的基本结构、样式设置、以及在…...

Http自定义Header导致的跨域问题

最近写一个小项目&#xff0c;前后端分离&#xff0c;在调试过程中访问远程接口&#xff0c;出现了CORS问题&#xff0c;接口使用的laravel框架&#xff0c;于是添加了解决跨域的中间件&#xff0c;但是前端显示仍存在跨域问题&#xff0c;以为自己写的有问题&#xff0c;检查了…...

20240805 每日AI必读资讯

世界首例&#xff01;AI机器人做牙科手术&#xff0c;8倍速诊疗比人类医生更精准 - Perceptive&#xff1a;让人工智能控制的自主机器人&#xff0c;首次对人类患者进行了全过程的牙科手术&#xff0c;速度大约是人类牙医的8倍。 - 两项新技术 1、OCT 3D成像系统&#xff1a;…...

COMSOL金属氢化物-放氢过程

在此记录下放氢过程的软件设置思路 1、采用的是"达西定律""层流" 物理场&#xff0c;其中"层流"物理场选择了”弱可压缩流动“&#xff0c;这里主要是选择”可压缩流动“的话&#xff0c;算出来的瞬时流量值跟实测差距太大了。 2、设置"达西…...

Unity2D在处理精灵表过程中出现不清晰的解决方法

问题阐述 在我们拿到一张精灵表的时候&#xff0c;我们通常要进行切割。但这样往往导致切割的效果不是很好&#xff0c;这里举一个简单的例子。 这是举例子用到的精灵表 我们先对他进行切割处理。 将single改为Multiope 进入精灵编辑器后&#xff0c;我们选择切割方式 此时我…...

C语言第13篇

1.下面程序是计算n个数的平均值,请填空.______ #include<stdio.h> void main( ) { int i,n; float x,avg0.0; scanf("%d",&n); for(i0;i<n;i) { scanf("%f",&x); avgavg______; } avg________; printf("avg%f\n",avg); } A) …...

Meta Reality Labs:巨额亏损背后的挑战与展望

一、财务概况 自2020年以来,Meta的Reality Labs部门累计亏损已超过450亿美元,其中2023年的亏损达到160亿美元,2024年第一季度亏损38亿美元,分析师预计第二季度亏损可能接近50亿美元。尽管投入巨大,Reality Labs的收入却呈现下降趋势,与不断增加的支出形成鲜明对比。 二…...

linux安装docker(实操教程)

一、安装前准备工作 1.查看服务器操作系统版本 2.查看服务器的操作系统内核版本 3.安装依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2如果不是root用户登陆的系统&#xff0c;需要手动输入sudo -i切换到root帐户 4.设置阿里云docker-ce镜像源 yum-c…...

隐写工具steghide linux编译安装

1、git clone https://github.com/StefanoDeVuono/steghide.git 2、autoreconf -i 3、./configure 4、make 编译完成后再src目录下又steghide执行下程序 报错&#xff1a;configure: error: cannot find required auxiliary files: compile时需要执行autoreconf 如果往j…...

山寨手机 老手机 山寨平板 提高速度 cpu超频的方法360超级root和setup

第一&#xff0c;挂机 &#xff0c;按音量键 &#xff0c;看机器的配置&#xff0c;注意&#xff0c;山寨机器的 安卓版本不可信啊&#xff0c;安卓4.4.2会标注安卓10 第二 &#xff0c;下载360超级root, http://2012rs.mysxl.cn/ https://xdaforums.com/t/setcpu-for-root-us…...

【两整数之和】python刷题记录

R3-位运算专题。 仲夏之约&#xff0c;留尺一寸&#xff0c;小记一事&#xff0c;算是了结。 无进位和 与 异或运算 规律相同&#xff0c;进位 和 与运算 规律相同&#xff08;并需左移一位&#xff09; 牛啊牛啊 class Solution:def getSum(self, a: int, b: int) -> int…...

常见cms漏洞之dedecms

DedeCMS是织梦团队开发PHP 网站管理系统&#xff0c;它以简单、易用、高效为特色&#xff0c;组建出各种各样各具特色的网站&#xff0c;如地方门户、行业门户、政府及企事业站点等。 下载地址请网上自行寻找 搭建方式选择php study 首先搭建环境 #前台http://localhost/dedecm…...

基于微信小程序的微课堂笔记的设计与实现(源码+论文+部署讲解等)

博主介绍&#xff1a;✌全网粉丝10W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术栈介绍&#xff1a;我是程序员阿龙&#xff…...

如何构建AI产品:OpenAI与前Shopify产品负责人Miqdad Jaffer的经验分享

一、引言 构建AI产品是一项复杂且充满挑战的任务&#xff0c;尤其是当涉及到面向消费者的解决方案时。在最近的一期播客节目中&#xff0c;OpenAI 和前Shopify产品负责人 Miqdad Jaffer 分享了他在构建AI产品的经验和策略。下面我们将探讨构建AI产品的最佳实践&#xff0c;以及…...

C++的结构体、联合体、枚举类型(一)

1.C++的结构体 2.C++的联合体 3.C++的枚举类型 1.C++的结构体 (1)C++中定义结构体变量,可以省略struct关键字 struct XX{…}; XX x;//定义结构体变量直接省略struct(2)C++结构体中可以直接定义函数,谓之成员函数(又叫方法)(3)在成员函数中可以直接访问该结构体的成员变…...

白骑士的PyCharm教学高级篇 3.5 团队协作与集成开发

系列目录 上一篇&#xff1a;白骑士的PyCharm教学高级篇 3.4 服务器部署与配置 在现代软件开发中&#xff0c;团队协作和集成开发环境&#xff08;IDE&#xff09;的使用至关重要。PyCharm不仅提供了强大的个人开发支持&#xff0c;还为团队协作和集成开发提供了丰富的功能和工…...

c++ 21 指针

*像一把钥匙 通过钥匙去找内存空间 间接修改内存空间的值 不停的给指针赋值 等于不停的更改指针的指向 指针也是一种数据类型 指针做函数参数怎么看都不可以 指针也是一个数据类型 是指它指向空间的数据类习惯 作业 野指针 向null空间地址copy数据 不断改变指针指向 …...

书籍将整数字符串转成整数值(5)0804

题目 给定一个字符串str&#xff0c;如果str符合日常书写的整数形式&#xff0c;并且属于32位整数的范围&#xff0c;返回str所代表的整数值&#xff0c;否则返回0。 举例 str“123” 返回 123 str“023” 因为023 不符合日常的书写习惯&#xff0c;所以返回0 str“A13” …...

计网:从输入URL到网页显示期间发生了什么

1、URL包含的信息 我们输入的url中包含着一些信息&#xff1a; http&#xff1a;表示的此次我们使用的什么协议/www.baidu.com&#xff1a;表示的是我们想要访问的服务器名称&#xff0c;也就是域名dir3/home.html&#xff1a;表示我们所要访问的资源 2、通过DNS解析URL获得I…...

pg数据库存储过程

一、存储过程 CREATE OR REPLACE PROCEDURE public.p_dm_stock_fx_hangye_d(IN dt_date character varying) LANGUAGE plpgsql AS $procedure$ begin delete from dm_stock_fx_hangye_d where stock_date dt_date; commit; insert into dm_stock_fx_hangye_d select t…...

Arduino PID库 (2) –微分导致的过冲

Arduino PID库 &#xff08;2&#xff09; – Derivative Kick 参考&#xff1a;手把手教你看懂并理解Arduino PID控制库——微分冲击 pid内容索引-CSDN博客 Arduino PID库 &#xff08;1&#xff09;– 简介 问题 此修改将稍微调整derivative term。目标是消除一种称为“…...

基于Tensorflow.js的花卉识别编程实践

使用TensorFlow.js进行编程有许多优点&#xff0c;特别适合开发机器学习和深度学习的应用。TensorFlow.js可以直接在浏览器中运行&#xff0c;无需服务器或特殊环境配置。这使得开发者可以轻松地创建和部署基于Web的机器学习应用。TensorFlow.js提供了许多预训练模型&#xff0…...

繁简之争:为什么手机芯片都是 ARM

RISC 和 CISC 指令集 之前的文章《揭秘 CPU 是如何执行计算机指令的》中说到&#xff0c;如果从软件的角度来讲&#xff0c;CPU 就是一个执行各种计算机指令&#xff08;Instruction Code&#xff09;的逻辑机器。 计算机指令集是计算机指令的集合&#xff0c;包括各种类型的…...

《机器人SLAM导航核心技术与实战》第1季:第8章_激光SLAM系统

视频讲解 【第1季】8.第8章_激光SLAM系统-视频讲解【第1季】8.1.第8章_激光SLAM系统_Gmapping算法-视频讲解【第1季】8.2.第8章_激光SLAM系统_Cartographer算法-视频讲解【第1季】8.3.第8章_激光SLAM系统_LOAM算法-视频讲解 第1季&#xff1a;第8章_激光SLAM系统 先 导 课第…...

Qt之Gui

组件依赖关系 应用 #mermaid-svg-GADicZtZJRVVUeiF {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GADicZtZJRVVUeiF .error-icon{fill:#552222;}#mermaid-svg-GADicZtZJRVVUeiF .error-text{fill:#552222;stroke:#…...

Redis的回收策略(淘汰策略)

volatile-lru &#xff1a;从已设置过期时间的数据集&#xff08; server.db[i].expires &#xff09;中挑选最近最少使用的数据淘汰 volatile-ttl &#xff1a; 从已设置过期时间的数据集&#xff08; server.db[i].expires &#xff09; 中挑选将要过期的数据淘汰 volatile…...

基于Springboot的个人博客系统

文章目录 介绍访问地址一、功能展示1.前台首页归档相册留言关于我登陆注册 2.后台管理系统登陆页面首页文章管理相册管理写博客访客统计 介绍 基于Java&#xff08;Springboot&#xff09;可以用做毕业设计的个人博客系统&#xff0c;包括网站前台和后台管理系统两部分。网站前…...

J030_TCP通信

一、需求描述 使用TCP协议进行通信 1.1 一发一收 1.1.1 Client package com.itheima.tcp1;import java.io.DataOutputStream; import java.io.OutputStream; import java.net.Socket;public class Client {public static void main(String[] args) throws Exception {//1、…...

单片机复习题

第1章 思考题及习题 一、填空 1. 除了单片机这一名称之外&#xff0c;单片机还可称为 或 。 2.单片机与普通微型计算机的不同之处在于其将 、 、和 三部分&#xff0c;通过内部 连接在一起&#xff0c;集成于一块芯片上。 …...

Java | Leetcode Java题解之第322题零钱兑换

题目&#xff1a; 题解&#xff1a; public class Solution {public int coinChange(int[] coins, int amount) {int max amount 1;int[] dp new int[amount 1];Arrays.fill(dp, max);dp[0] 0;for (int i 1; i < amount; i) {for (int j 0; j < coins.length; j)…...

【MYSQL】MYSQL逻辑架构

mysql逻辑架构分为3层 mysql逻辑架构分为3层 1). 连接层&#xff1a;主要完成一些类似连接处理&#xff0c;授权认证及相关的安全方案。 2). 服务层&#xff1a;在 MySQL据库系统处理底层数据之前的所有工作都是在这一层完成的&#xff0c;包括权限判断&#xff0c;SQL接口&…...

SQL Server数据库的清洁工:垃圾回收机制解析

SQL Server数据库的清洁工&#xff1a;垃圾回收机制解析 在SQL Server的复杂而精密的数据库管理系统中&#xff0c;垃圾回收机制扮演着至关重要的角色。它负责清理不再需要的数据&#xff0c;释放空间供新数据使用。本文将深入探讨SQL Server中数据库垃圾回收机制的工作原理&a…...

使用MailKit在.NET Core中收发邮件的完整示例

在.NET Core中处理邮件收发操作时&#xff0c;MailKit是一个非常强大的库。它支持SMTP、POP3、IMAP等多种协议&#xff0c;可以轻松实现发送、接收、以及管理邮件的功能。下面我们将通过一个详细的示例&#xff0c;展示如何在.NET Core项目中使用MailKit来收发邮件&#xff0c;…...

flask高频面试题

目录 高频面试题及答案1. 如何在Flask中处理数据库迁移&#xff1f;2. Flask如何处理文件上传&#xff1f;3. 如何在Flask中处理跨域请求&#xff08;CORS&#xff09;&#xff1f;4. 如何在Flask中实现用户认证&#xff1f;5. Flask如何处理会话&#xff1f;6. Flask如何处理表…...

【算法模板】图论:Tarjan算法求割边割点

概念 割边&#xff08;Bridge 或 Cut Edge&#xff09; 定义&#xff1a; 在一个无向连通图中&#xff0c;如果删除某条边后&#xff0c;图不再连通&#xff08;即任意两点之间不能相互到达&#xff09;&#xff0c;则称该边为割边。割边也被称为桥&#xff0c;因为它像桥梁…...

python——joblib进行缓存记忆化-对计算结果缓存

问题场景 在前端多选框需要选取多个数据进行后端计算。 传入后端是多个数据包的对应路径。 这些数据包需要按一定顺序运行&#xff0c;通过一个Bag(path).get_start_time() 可以获得一个float时间值进行排序&#xff0c;但由于数据包的特性&#xff0c;这一操作很占用性能和时…...

01 计算机系统基础-2

操作系统 进程管理 进程管理是操作系统的核心&#xff0c;但如果设计不当&#xff0c;就会出现死锁的问题。如果一个进程在等待一件不可能发生的事&#xff0c;则进程就死锁了。而如果一个或多个进程产生死锁&#xff0c;就会造成系统死锁。基于死锁产生机制及解决方案&#…...

2024死磕小红书,一定能赚到钱!

​2024死磕小红书&#xff0c;一定能赚到钱&#xff01;在文末领取小红书运营完全指南电子书 从2023年起&#xff0c;小红书这股热乎劲儿就像开了挂&#xff0c;突然间就成了人人想蹭的“显学”。大伙儿都想趁着平台红利期&#xff0c;分一杯羹。说来惭愧&#xff0c;我从2020年…...

关于JS中的AO对象

在JavaScript中&#xff0c;AO对象&#xff08;Activation Object&#xff0c;激活对象&#xff09;是与函数执行上下文相关的概念。每当一个函数被调用时&#xff0c;都会创建一个新的执行上下文&#xff0c;这个执行上下文包含一个AO对象&#xff0c;用于存储在函数执行期间创…...

49 序列解包的多种形式和用法

序列解包&#xff08;Sequence Unpacking&#xff09;是 Python 中非常重要和常用的一个功能&#xff0c;可以使用非常简洁的形式完成复杂的功能&#xff0c;提高了代码的可读性&#xff0c;减少了程序员的代码输入量。 x, y, z 1, 2, 3 # 多个变量同时赋值 v_tuple (False…...

2-55 基于matlab的 永磁同步电机滑膜观测器估算电机转速

基于matlab的 永磁同步电机滑膜观测器估算电机转速。精度比传统观测器精度高。分别输出电机转速估计值与实际值、电机转速估计误差、电机转子位置估计值与实际值、电机转子位置估计误差。程序已调通&#xff0c;可直接运行。 2-55滑膜观测器估算电机转速 - 小红书 (xiaohongsh…...