news 2026/9/3 0:04:11

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/8/27 14:36:27

AIGC 的“数学心脏”:一文读懂 CANN ops-math 通用数学库

目录 一、 什么是 ops-math? 二、 核心能力:AIGC 的三大支柱 三、 开发者友好:从 0 到 1 的最佳入口 四、AIGC 场景实战:自定义一个“噪声注入”算子 五、 结语 在 AIGC(生成式 AI)的宏大建筑中&#…

作者头像 李华
网站建设 2026/9/2 23:29:17

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

如果说RGB和CMYK是给机器和设备用的,那HSV就是为人类直觉设计的。一句话核心HSV按照人类选择颜色的思维方式,将颜色分解为:【色调】、【饱和度】、【明度】三个直观维度。1. 为什么需要HSV?想象一下你想在RGB模式下调出一个“浅一…

作者头像 李华
网站建设 2026/8/30 22:11:32

java+vue基于springboot框架的企业进销存管理系统

目录 系统概述技术架构核心功能创新点应用价值 开发技术源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 系统概述 基于SpringBoot和Vue的企业进销存管理系统是一个现代化的全栈解决方案,整合后端Java技术与前端Vue框架&…

作者头像 李华
网站建设 2026/9/2 23:56:30

java+vue基于springboot框架的全国非物质文化遗产展示平台

目录全国非物质文化遗产展示平台摘要技术架构核心功能模块创新特色应用价值开发技术源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!全国非物质文化遗产展示平台摘要 该平台基于SpringBoot后端框架和Vue前端框架构建,旨在数…

作者头像 李华
网站建设 2026/8/27 18:29:51

IBM投资生成式AI应用设计初创公司Anima

IBM公司正通过投资热门的"设计转代码"初创公司Anima App Inc.来推进新兴的"氛围编码"趋势,这是该公司帮助重塑企业在人工智能时代设计、构建和交付数字产品方式努力的一部分。氛围编码已成为软件开发中一股极具颠覆性的力量,使开发者…

作者头像 李华