Java核心类2

枚举类
enum 枚举名{ 枚举常量1,枚举常量2,.........,}
在创建枚举常量时实际是在调用自身的构造方法,每个枚举常量实际就是枚举类的实例
以此enum的构造方法必须使用private,而如果要给枚举常量值需要调用构造方法如:
枚举常量(value1,value2......),而枚举字段最好设置为final

枚举的方法:
枚举类.枚举实例.name() 返回实例名称
枚举类.枚举实例.ordinal() 返回实例的位置
枚举类.枚举实例.toString() 返回实例名称(与name()效果一样但是可以覆写方法)


记录类
记录类就是不变类(类无法继承,类字段无法修改)
并且有着构造方法 以及获得类字段的值的方法,以及toString()、equals()和hashCode()方法

创建记录类:public record 类名(value1, value2) {}
创建记录类就自动完成上述功能
如果要对构造方法中检查参数 那么只要在构造方法中加入判断语句即可,后续语句编译器会自动添加
记录类可以添加静态方法

BigInteger(无限制的数字)
BigInteger 实例名=new BigInteger(数字字符串)
BigInteger实例1.add(BigInteger实例2) 返回两个相加后的BigInteger值
转换为byte:BigInteger实例.byteValue()
转换为short:BigInteger实例.shortValue()
转换为int:BigInteger实例.intValue()
转换为long:BigInteger实例.longValue()
转换为float:BigInteger实例.floatValue()
转换为double:BigInteger实例.doubleValue()
BigDecimal(任意大小且精度完全准确的浮点数)
BigDecimal 实例名 = new BigDecimal(数字字符串);
BigDecimal实例名.scale() 返回小数位数
BigDecimal实例名.stripTrailingZeros() 返回去掉末尾0的BigDecimal数字
如果一个BigDecimal的scale()返回负数,例如,-2,表示这个数是个整数,并且末尾有2个0
BigDecimal.实例名.setScale(小数位数,模式) 返回根据设置返回BigDecimal数字
模式:RoundingMode.HALF_UP四舍五入 RoundingMode.DOWN直接截断
注:对BigDecimal做加、减、乘时,精度不会丢失,但是做除法时,存在无法除尽的情况,这时,就必须指定精度以及如何进行截断
BigDecimal实例1.divideAndRemainder(BigDecimal实例2) 返回一个数组 实例1除实例2的整数以及余数
BigDecimal实例1.equals()(BigDecimal实例2) 判断两个BigDecimal是否相等(不但数字要一样而且小数位数也要一样)
BigDecimal实例1.compareTo(BigDecimal实例2) 它根据两个值的大小分别返回负数、正数和0,分别表示小于、大于和等于
常用工具类
Math类
Math.abs(数字) 返回num的绝对值
Math.max(数字序列) 返回最大的数字
Math.min(数字序列) 返回最小的数字
Math.pow(次方数,数字) 返回该数字的指定次方后的数字
Math.exp(次数) 返回e的指定次方数字
Math.sqrt(数字) 返回指定数字的开平方的数字
Math.log(数字) 返回以e为底的对数
Math.log10(数字) 返回以10为底的对数
Math.sin(数字)
Math.cos(数字)
Math.tan(数字)
Math.asin(数字)
Math.acos(数字)
Math.random() 返回0~1的随机数
若要[10,50]范围的随机数
double x = Math.random(); // x的范围是[0,1)
double min = 10;
double max = 50;
double y = x * (max - min) + min;

Math常量 Math.PI Math.E

Random类
创建Random实例 Random 实例名=new Random(可指定种子);
Random实例.nextInt() 返回整数范围内的整型伪随机数
Random实例.nextInt(数字) 返回0~指定数字内的整型伪随机数
Random实例.nextLong() 返回长整数范围内的长整型伪随机数
Random实例.nextFloat() 返回0~1范围内的单精度浮点型伪随机数
Random实例.nextDouble() 返回0~1范围内的多精度浮点型伪随机数
如果不给定种子,就使用系统当前时间戳作为种子,因此每次运行时,种子不同,得到的伪随机数序列就不同

SecureRandom类
创建SecureRandom实例 SecureRandom 实例名=new SecureRandom();

原文地址:https://www.cnblogs.com/frlblog/p/12951356.html