当前位置:   article > 正文

Java-常用API-2

Java-常用API-2

Objects类

Object类中提供的equals比较方法有空指针会直接报错,这时就需要用到Objects类中的方法

  • public static boolean equals(Object a,Object b) 先做非空检查,再比较两个对象
  • public static boolean isNull(Object a) 判断是否为空
  • public static boolean nonNull(Object a) 判断是否不为空运行
  1. Student s3=new Student();
  2. Student s4=null;
  3. System.out.println(Objects.equals(s3, s4));//其中一个为空直接返回false
  4. System.out.println(Objects.isNull(s4));
  5. System.out.println(Objects.nonNull(s4));

 运行结果

Biginteger类

拥有非常高的上限,可以用来处理超过long long的整数

  • public BigIntrger(int num,Random rnd) 获取随机大整数,范围:[0-2的num次方-1]
  • public BigInteger(Sting val) 获取指定的大整数
  • public BigInteger(Sting val),int radix) 获取指定进制的大整数
  • public static BigInteger valueOf(long val) 静态方法获取BigInteger对象,内部有优化
  1. //0-31
  2. System.out.println(new BigInteger(5, new Random()));
  3. System.out.println(new BigInteger("50000000000000000000000000000000000000"));
  4. //四进制的330转换到十进制
  5. System.out.println(new BigInteger("330", 4));

运行结果

BigDecimal类

常用于小数的精确计算

  • public BigDecimal add(BigDecimal a) 加法
  • public BigDecimal subtract(BigDecimal a) 减法
  • public BigDecimal multiply(BigDecimal a) 乘法
  • public BigDecimal divide(BigDecimal a,精确几位,舍入模式) 除法
  1. import java.io.IOException;
  2. import java.math.BigDecimal;
  3. import java.math.BigInteger;
  4. import java.math.RoundingMode;
  5. import java.util.Objects;
  6. import java.util.Random;
  7. public class Main {
  8. public static void main(String[] args){
  9. BigDecimal bd1=BigDecimal.valueOf(10.0);
  10. BigDecimal bd2=BigDecimal.valueOf(3.5);
  11. BigDecimal bd3=bd1.add(bd2);
  12. BigDecimal bd4=bd1.subtract(bd2);
  13. BigDecimal bd5=bd1.multiply(bd2);
  14. //除不尽时需要设置保留几位(2位,四舍五入)
  15. BigDecimal bd6=bd1.divide(bd2,2, RoundingMode.HALF_UP);
  16. System.out.println(bd3);
  17. System.out.println(bd4);
  18. System.out.println(bd4);
  19. System.out.println(bd5);
  20. System.out.println(bd6);
  21. }
  22. }

运行结果

正则表达式

验证字符串的一种规则,或在文本中查找满足需要的内容,表达式类型为String

如:

  1. String qq="1234454567";
  2. //检验规则:首位不为0,首位后共5-19位数字
  3. System.out.println(qq.matches("[1-9]\\d{5,19}"));

结果:true

字符类

  • [abc]:只能是a,b,c
  • [^abc]除a,b,c之外的所有字符
  • [a-zA-Z]a到z,A到Z
  • [a-d[m-p]]a到d或m到p
  • [a-z&&[def]]a-z与def的交集,即d,e,f
  • [a-z&&[^bc]]a到z与非bc的交集
  • [a-z&&[^m-p]]a-z与除了m-p的交集

预定义字符(Java中,\\表示\)

  • . 任何字符
  • \d 一个数字
  • \D 非数字
  • \s 一个空白字符
  • \S 一个非空白字符
  • \w 英文,数字,下划线
  • \W 一个非单词字符

数量词

  • X? X出现一次或零次
  • X* X出现零次或多次
  • X+ X出现一次或多次
  • X{n} X出现正好n次
  • X{n,} X出现至少n次
  • X{n,m} X出现在n-m次之间(包含)
  1. //检测此字符串满足:除下划线外所有英文或数字字符出现6次
  2. System.out.println("45dtgr".matches("[\\w&&[^_]]{6}"));

运行结果:true 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/462572
推荐阅读
相关标签
  

闽ICP备14008679号