news 2026/4/23 16:09:07

JavaAPI 工具类

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
JavaAPI 工具类

工具类

Math

public static int abs (int a) 获取参数绝对值

public static duble ceil (doouble a)向上取整

public static duble floor (doouble a)向下取整

public static int round(float a) 四舍五入

public static int max (int a,int b)获取两个int值中最大的数

public static double pow(double a , double b) 返回a的b次幂的值

public static double random() 返回为double的随机值,范围为[0.0,1.0)

public static double sqrt(double a) 返回a的平方根

public static diuble cbrt (double a) 返回a的立方根

API帮助文档

System

System . exit 终止当前运行的Java虚拟机

system . currentimemilllis() 返回当前系统的时间毫秒值形式 用long接收

system.arraycope(数据源数组,起始索引,目的地数组,起始索引,拷贝个数)复制数组

1.如果两个数数组都是基本类型,那么两着的类型必须保持一致,否则会报错

2.拷贝的时候需要考虑数组长度,超出会报错

3,如果两个数组都是引用数组,拷贝的是地址值 子类类型可以传递给父类类型

Runtime

表示当前虚拟机的状态

Runtime.getRuntime(); 获取当前系统的运行对象

Runtime().exit(0) 停止虚拟机

Runtime().availableprocessors 获取CPU的总线程

Runtime().maxMemory JVM可以在系统中获取内存总大小 单位为字节BYTE

Runtime().totalMemory JVM已经从系统中获取的内存大小 单位为字节BYTE

Runtime().freeMemory JVM剩余内存大小

Runtime().exec (String) 运行cmd命令

//shutdown : 关机

//加上参数才能执行

-s: 默认一分钟之后关机

-s -t 指定时间:指定关机时间

-s :取消关机操作

-r :关机并重启

equals

1.如果没有重写equals方法,那么默认使用object中的方法进行比较,比较的是地址值

2,一般来讲比较地址值对于我们意义不大,所以我们会进行重写,重写之后比较的就是对象内部的属性值了

Clone

1.重写object类的clone方法

2.让JavaBean实现Cloneable接口

3,创建原对象并调用clone就可以了

浅克隆

不管对象内部的属性是基本数据类型还是引用数据类型,都完全拷贝过来

深克隆

基本数据类型拷贝过来 字符串复用 引用数据类型会重新创建新的

toString

1.返回对象的字符串表示形式

2.当我们打印一个对象的时候,底层会调用对象的toString方法,把对象变成字符串然后再打印在控制台上,打印完毕换行处理

3.默认打印的是地址值,但对于我们是没有意义的,如果我们想看到对象内部的属性值,重写toString方法就可以了

Objects

1.Objects是一个对象工具类,提供了一些操作对象的方法

2.equals(对象1,对象2):先做非空判断,在比较两个对象;

3,isNull(对象):判断对象是否为空

3.nonNull(对象):判断对象是否不为空;

Biginteger

// public BigInteger (int num ,Random rnd) 获得随机大的整数,范围是[0 ~ 2的num次幂-1]Randomrand=newRandom();BigIntegera=newBigInteger(3,rand);System.out.println(a);BigIntegerb=newBigInteger("1");// public BigInteger(String val ) 获取指定的大整数//细节//1。字符串必须是整数,否则会报错System.out.println(b);// public BigInteger(String val,int radix ) 获得指定进制的大整数//细节//1.字符串必须是整数,否则会报错//2.字符串中的数字必须跟进制吻合,否则会报错,比如二进制必须为0和1BigIntegerc=newBigInteger("100",2);System.out.println(c);//静态方法获取Biginteger//细节// 1.表示的范围比较小,在long的范围内,超出就会报错// 2,在内部对常用的数字就行了优化 -16~16//提前对-16~16创建好了BigInteger对象,如果多次创建不会获取新的BigIntegerD=BigInteger.valueOf(1000);System.out.println(D);//一旦创建对象,内部记录的值就不会发生改变//只要参与计算,就会创建一个新的BigInteger对象BigIntegerS1=BigInteger.valueOf(1);BigIntegerS2=BigInteger.valueOf(11);BigIntegerresult=S1.add(S2);System.out.println(result==S1);//false
BigIntegerS1=newBigInteger("100");BigIntegerS2=newBigInteger("111");//add 加BigIntegerresult=S1.add(S2);System.out.println(result);BigInteger[]arr=S2.divideAndRemainder(S1);//除法,获取商和余数System.out.println(arr[0]);System.out.println(arr[1]);//减法BigIntegerresult0=S2.subtract(S1);System.out.println(result0);//比较两个值大的大小booleanequals=S1.equals(S2);System.out.println(equals);//获取两个数之间的最大值BigIntegermax=S1.max(S2);System.out.println(max);//获取两个数之间的最小值BigIntegermin=S1.min(S2);System.out.println(min);//获取当前数字的次幂BigIntegerpow=S1.pow(2);System.out.println(pow);//将 BigInteger转为int类型,超出范围数值有误inti=S1.intValue();

BigDecimal

1.创建对象

//通过传递double类型的小数来创建方法 //细节:这种方法可能是不精确的,所以不建议使用 BigDecimal s1 = new BigDecimal(9.0); //通过传递字符产的方法创建对象 BigDecimal s4 = new BigDecimal("9.0"); BigDecimal s2 = new BigDecimal("9.0"); BigDecimal s3 = s1.add(s2); System.out.println(s3); //通过静态方法创建对象 BigDecimal s5 = BigDecimal.valueOf(9); BigDecimal s6 = BigDecimal.valueOf(9); System.out.println(s5 == s6); //细节: // 1.如果表示的数不大,没有超过double的范围,建议使用静态方法 //2. 如果超出范围,建议使用构造方法 //3. 如果我们传递的是0~10之间的整数,包括0还有10,那么方法会返回已经创建好的对象,不会new BigDecimal

2.方法

BigDecimalS1=newBigDecimal(10);BigDecimalS2=newBigDecimal(3);//加法BigDecimalS3=S1.add(S2);// System.out.println(S3);//12//乘法BigDecimalS4=S1.multiply(S2);//System.out.println(S4);//20//除法BigDecimalS6=S1.divide(S2);//除法(被除数,保留几位小数,四舍五入)BigDecimalS5=S1.divide(S2,2,RoundingMode.HALF_UP);System.out.println(S5);//3.33//减法BigDecimalS7=S1.subtract(S2);System.out.println(S6);//7
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 11:30:10

深入解析 Flutter 跨端开发在扫描全能王移动端应用中的实践:从技术栈到面试准备

上海合合信息科技股份有限公司 Android开发工程师 职位信息 【工作内容】 - 负责扫描全能王移动端跨端的功能模块设计和业务开发 - 可以对其开发的模块进行测试,保证代码的质量 - 对于紧急问题,有责任心且意愿加班快速处理 - 积极主动和需求方沟通,对于需求变更,响应快速 -…

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

AI视频生成1.7.5 |无限AI视频生成,需要特殊网络

AI Video Generator是一款强大的视频生成工具,支持无限量的视频生成。此版本已完全解锁付费功能,去除了所有广告,并支持多种语言。它适用于Arm64-v8a CPU架构,能够为用户提供流畅且高效的创作体验。无论是创意制作还是个人娱乐&am…

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

PasteEx:一款.NET开源的Windows快捷粘贴神器

前言PasteEx是一款.NET开源的用于增强 Windows 粘贴功能的小工具,它解决了将剪贴板内容保存为文件的繁琐步骤。无需打开记事本等应用,它可直接将文字、图片等内容粘贴到桌面上,极大提升了效率。功能特点自定义文本扩展规则:用户可…

作者头像 李华
网站建设 2026/4/23 4:44:19

CSDN博客之星2025年度总评选投票~

欢迎给我投票👏 大家好,我是 Moshow,一名热爱技术与分享的Technical Lead & Engineering Lead & 数据科学探索者 & SpringBoot 专家 。 持有多项权威认证,包括: ️ GCA 谷歌云架构师认证 Neo4j 数据科学…

作者头像 李华