news 2026/4/23 16:40:48

js--13

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
js--13

一、Object 类(Java 顶级父类)

所有类直接 / 间接继承 Object,为所有对象提供统一基础方法,无特殊声明时子类默认调用其空参构造完成初始化。

1. 核心方法

toString()
  • 默认行为:返回类名@哈希码值,无业务意义;打印对象时会自动调用此方法。
  • 开发规范:必须重写,拼接对象属性为有意义的字符串,方便调试和查看对象信息。
equals(Object obj)
  • 默认行为:比较两个对象的内存地址,判断是否为同一个对象。
  • 开发规范:几乎都要重写,改为比较对象属性值是否相等;重写时建议结合 Objects 工具类,避免空指针。
clone ()(对象克隆)
  • 核心作用:复制对象,将原对象属性值完整拷贝给新对象。
  • 实现前提:① 实现Cloneable标记接口(无抽象方法,仅标识可克隆);② 重写 clone () 并处理CloneNotSupportedException异常。
  • 克隆类型:
    • 浅克隆:基本数据类型复制值,引用数据类型仅复制地址,新旧对象共享引用对象。
    • 深克隆:引用数据类型重新创建对象,新旧对象的引用属性完全独立,互不影响。

二、Objects 工具类(对象操作工具,避免空指针)

所有方法为静态方法,直接通过Objects.方法名()调用,核心解决 Object 类方法的空指针问题,是开发首选。

核心方法

  1. equals (Object a, Object b):先做非空判断,再调用对象的 equals (),避免空指针异常。
  2. isNull (Object obj):判断对象是否为 null,为 null 返回 true。
  3. nonNull (Object obj):判断对象是否非 null,结果与 isNull () 相反。

三、BigInteger 类(处理超大整数,突破 long 范围)

用于操作超出long取值范围的超大整数,支持高精度整数运算,对象一旦创建,值不可修改,所有运算都会返回新的 BigInteger 对象。

1. 对象创建(推荐静态方法)

  1. 静态方法:BigInteger.valueOf (long val),适用于未超出 long 范围的数,内部有对象池优化,性能更高。
  2. 构造方法:
    • BigInteger (String val):通过数字字符串创建超大整数(核心方式)。
    • BigInteger (String val, int radix):按指定进制(2/8/16 等)解析字符串为整数。
    • BigInteger (int num, Random rnd):生成[0, 2^num - 1]范围内的随机大整数。

2. 常用运算方法

  • 加法:add (BigInteger val)
  • 减法:subtract (BigInteger val)
  • 乘法:multiply (BigInteger val)
  • 除法:divide (BigInteger val)(仅返回商)
  • 除尽取商余:divideAndRemainder (BigInteger val)(返回商和余数的数组)
  • 次幂:pow (int exponent)
  • 最值:max (BigInteger val) /min (BigInteger val)

四、BigDecimal 类(高精度浮点数,解决精度丢失)

用于处理高精度小数运算,彻底解决double/float的浮点精度丢失问题,是金融、电商等精确计算场景的唯一选择对象不可变,运算返回新对象。

1. 对象创建(避坑:禁止直接用 double 构造)

  1. 静态方法(推荐):BigDecimal.valueOf (double val),适用于未超出 double 范围的数,有对象池优化。
  2. 构造方法:
    • BigDecimal (String val):通过数字字符串创建,无精度丢失,是最高精度的方式(推荐)。
    • BigDecimal (double val):不推荐,因 double 本身存在精度误差,会导致创建的对象值不准确。

2. 常用运算方法

  • 加法:add (BigDecimal val)
  • 减法:subtract (BigDecimal val)
  • 乘法:multiply (BigDecimal val)
  • 除法:divide (BigDecimal val)(除不尽时抛出异常,禁止直接使用)
  • 安全除法(推荐):divide (BigDecimal val, int scale, RoundingMode mode)
    • scale:保留的小数位数。
    • mode:舍入模式,如RoundingMode.HALF_UP(四舍五入)、RoundingMode.DOWN(直接舍弃)。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 11:33:41

CANN生态核心算子库合集:赋能AIGC多模态落地的全链路算力支撑

目录 一、三大核心算子库:各有侧重,覆盖AIGC全流程需求 1. ops-cv:AIGC视觉处理的高效加速库 2. ops-transformer:AIGC核心架构的专属加速库 3. SiP库:AIGC信号处理的高性能加速库 二、生态协同:三大库…

作者头像 李华
网站建设 2026/4/23 14:43:59

数字图像处理篇---HSL颜色空间

一句话核心HSL是HSV的“近亲”,同样按照人类直觉组织颜色,但它将亮度定义得更加自然:50%时颜色最纯,两端分别是纯黑和纯白。1. HSL vs HSV:兄弟之争HSL和HSV非常相似,都是为了解决RGB不直观的问题而生的。它…

作者头像 李华
网站建设 2026/4/23 14:42:42

开绕组永磁同步电机故障诊断及容错控制技术研究

✅ 博主简介:擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导,毕业论文、期刊论文经验交流。✅成品或者定制,扫描文章底部微信二维码。1)基于电流特征解析的快速故障诊断算法。传统故障诊断方法主要依赖电流信号的幅值特征…

作者头像 李华
网站建设 2026/4/23 13:00:20

CANN ops-nn 算子解读:Transformer注意力机制中的Softmax实现原理

好的,请看这篇符合要求的 CANN ops-nn 算子解读文章: CANN ops-nn 算子解读:Transformer注意力机制中的Softmax实现原理 摘要 本文深入探讨了华为CANN(Compute Architecture for Neural Networks)生态中 ops-nn 算子…

作者头像 李华
网站建设 2026/4/23 13:04:36

微软发布睡眠智能体后门检测新方法

微软研究人员发布了一种扫描方法,可在不知道触发器或预期结果的情况下识别被投毒的模型。组织在集成开放权重大语言模型时面临特定的供应链漏洞,其中明显的内存泄漏和内部注意力模式暴露了被称为"睡眠智能体"的隐藏威胁。这些被投毒的模型包含…

作者头像 李华