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) 判断是否不为空运行
Student s3=new Student();
Student s4=null;
System.out.println(Objects.equals(s3, s4));//其中一个为空直接返回false
System.out.println(Objects.isNull(s4));
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对象,内部有优化
//0-31
System.out.println(new BigInteger(5, new Random()));
System.out.println(new BigInteger("50000000000000000000000000000000000000"));
//四进制的330转换到十进制
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,精确几位,舍入模式) 除法
import java.io.IOException;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.math.RoundingMode;
import java.util.Objects;
import java.util.Random;

public class Main {
    public static void main(String[] args){
        BigDecimal bd1=BigDecimal.valueOf(10.0);
        BigDecimal bd2=BigDecimal.valueOf(3.5);
        BigDecimal bd3=bd1.add(bd2);
        BigDecimal bd4=bd1.subtract(bd2);
        BigDecimal bd5=bd1.multiply(bd2);
        //除不尽时需要设置保留几位(2位,四舍五入)
        BigDecimal bd6=bd1.divide(bd2,2, RoundingMode.HALF_UP);
        System.out.println(bd3);
        System.out.println(bd4);
        System.out.println(bd4);
        System.out.println(bd5);
        System.out.println(bd6);
    }
}

运行结果

正则表达式

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

如:

String qq="1234454567";
//检验规则:首位不为0,首位后共5-19位数字
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次之间(包含)
//检测此字符串满足:除下划线外所有英文或数字字符出现6次
System.out.println("45dtgr".matches("[\\w&&[^_]]{6}"));

运行结果:true 

  • 20
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值