news 2026/6/10 1:03: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/6/9 21:26:16

基于LSTM长短期记忆神经网络的轴承剩余寿命预测MATLAB实现

1. 研究背景 背景:轴承是旋转机械中的关键部件,其剩余寿命预测对预防故障、减少停机时间、降低维护成本具有重要意义。目标:利用LSTM网络对轴承的退化趋势进行建模,实现高精度的剩余寿命预测。2. 主要功能 加载轴承特征数据&#…

作者头像 李华
网站建设 2026/6/9 19:40:27

Linux 入门核心命令清单(工程版)

很多人学 Linux 时会陷入一个误区: 一上来背 100 个命令,结果一个都记不住。实际上,在真实开发中,15~25 个命令就能覆盖 80% 场景。 本文只整理真正高频、工程必会的 Linux 核心命令。一、路径与目录操作1. pwd — Pri…

作者头像 李华
网站建设 2026/6/9 18:35:12

sophnet邀请码(clawbot/openclaw)

填写邀请码可以得30余额,免费体验三个月,使用我的邀请码。 1.点开链接直达--》https://www.sophnet.com/#?codePF8GFD 2.邀请码:PF8GFD

作者头像 李华
网站建设 2026/6/9 22:09:16

高职数据安全与管理专业,怎么学习数据安全相关的法律法规?

高职数据安全与管理专业学习数据安全法律法规的方法数据安全法律法规的学习需要结合理论、实践和行业认证,以下是系统化的学习路径:法律法规框架梳理核心法律重点内容关联认证《网络安全法》网络运营者责任、数据分类保护、跨境数据传输规则CDA数据分析师…

作者头像 李华
网站建设 2026/6/9 23:10:47

Python基于Vue的大数据驱动的健身攻略推荐系统 django flask pycharm

收藏关注不迷路!!需要的小伙伴可以发链接或者截图给我 项目介绍 在健康意识日益增强的当下,健身已成为众多人追求高品质生活的重要组成部分。然而,面对海量的健身信息,人们往往感到无所适从,难以找到适合自…

作者头像 李华