Java常用类库

1. java.util.Objects

此类包含static实用程序方法,用于操作对象或在操作前检查某些条件。 这些实用程序包括null或null方法,用于计算对象的哈希代码,返回对象的字符串,比较两个对象,以及检查索引或子范围值是否超出范围。
常用内置方法:

  1. equals​(Object a, Object b)
    判断两个参数是否相等, 常用于子类重写
    例:
String s1 = "123";
String s2 = "456";
System.out.println(s1.equals(s2)); // false
  1. hashCode​(Object o)
    返回参数(对象)的哈希码
  2. isNull​(Object obj)
    判断参数是不是空,是返回true反之false
    例:
Person p1 = null;
System.out.println(Objects.isNull(p1)); // true
  1. nonNull​(Object obj)
    判断参数是不是非空,是返回true反之false

  2. requireNonNull​(T obj)
    检查指定的对象引用是否不是 null ,如果是抛出空指针异常(NPE),反之返回obj

  3. requireNonNull​(T obj, String message)
    检查指定的对象引用是否不是 null ,如果是抛出自定义异常(message),反之返回obj

  4. toString(Object o)
    返回参数对象的string形式,如果是null则返回"null"
    常用于子类重写

2. java.lang.Math

类Math包含用于执行基本数字运算的方法,例如基本指数,对数,平方根和三角函数。
内置常量:

  1. static double E
    double值自然数e
  2. static double PI
    double值圆周率π

常用内置方法:

  1. abs​(double/float/int/lang a)
    返回double/float/int/lang类型的参数的绝对值
  2. min(a, b), max(a, b)
    ab参数类型可以是double/float/int/lang
    返回a,b两数中的最小值(min)或最大值(max)
  3. round(a)
    a可以是float/double
    返回四舍五入的值
    例:
System.out.println(Math.round(100.5));  // 101
System.out.println(Math.round(-100.5)); //-100
  1. floor(a) 和 ceil(a)
    a可以是float/double
    floor(a)返回小于等于参数的最大整数
    ceil(a)返回大于等于参数的最大整数
    例:
System.out.println(Math.ceil(100.5));  // 101.0
System.out.println(Math.ceil(-100.5)); //-100.0
System.out.println(Math.floor(100.5));  // 100.0
System.out.println(Math.floor(-100.5)); //-101.0
  1. random()
    返回double类型的0到1之间的随机数

  2. pow(double a, double b)
    返回a的b次方的值

  3. sqrt​(double a)
    返回a的正确舍入正平方根

3. java.util.Arrays

该类包含用于操作数组的各种方法(例如排序和搜索)。
常用方法:

  1. toString(array)
    打印数组array的String形式
    例:
int[] array = {1,2,3,4,5,6,7};
System.out.println(Arrays.toString(array)); // [1, 2, 3, 4, 5, 6, 7]
  1. sort(array)
    数组array的数据类型可以是byte/char/double/float/short/int/long
    对数组array进行升序排序
    例:
int[] array = {7,5,6,4,3,1,2};
Arrays.sort(array);
System.out.println(Arrays.toString(array)); // [1, 2, 3, 4, 5, 6, 7]
  1. sort​(array, int fromIndex, int toIndex)
    按升序对数组的指定范围进行排序。包括fromIndex不包括toIndex(从fromindex开始到toindex之前)
    数组array的数据类型可以是byte/char/double/float/short/int/long
    例:
int[] array = {7,5,6,4,3,1,2};
Arrays.sort(array, 1, 6);
System.out.println(Arrays.toString(array)); // [7, 1, 3, 4, 5, 6, 2]
  1. copyOf​(original, int newLength)
    数组original的数据类型可以是所有基础数据类型和引用数据类型
    对原数组进行动态扩容到新的长度(newLength)

  2. copyOfRange​(original, int from, int to)
    数组original的数据类型可以是所有基础数据类型和引用数据类型
    将指定数组的指定范围(包括fromIndex不包括toIndex)复制到新数组中。

4. java.math.BigDecimal

此类用于数学精确计算
在java中直接用double类型进行运算会有误差
例如:

System.out.println(0.1+0.2); // 0.30000000000000004

这是就需要运用BigDecimal类进行精密计算
常用构造方法

BigDecimal​(String val){}

例:

BigDecimal b1 = new BigDecimal("0.1" );
BigDecimal b2 = new BigDecimal("0.2" );

常用方法:

  1. 加减乘除
    add​(BigDecimal augend)
    subtract​(BigDecimal subtrahend)
    multiply​(BigDecimal multiplicand)
    divide​(BigDecimal divisor)

    例:
BigDecimal b1 = new BigDecimal("0.1" );
BigDecimal b2 = new BigDecimal("0.2" );
BigDecimal b3 = b1.add(b2);
System.out.println(b3); // 0.3
  1. 数据转换
    intValue()
    byteValue()
    doubleValue()
    shortValue()
    longValue()
    floatValue()

    将BigDecimal对象转化为相应的数据类型

5. java.util.Date

Date类表示特定的时刻,精度为毫秒。
常用构造方法

  1. Date(){}
    对Date对象进行初始化, 使其表示当前时间,精确到毫秒
    例:
// 创建一个当前时间的Date
Date date = new Date();
System.out.println(date.toString()); // Wed Jul 29 14:20:37 CST 2020
  1. Date(lang date){}
    传入一个date毫秒值,表示时间,精确到毫秒

常用方法:
getTime();
返回long类型,从1970/1/1 00:00:00到现在时间的毫秒数
例:

Date date = new Date();
System.out.println(date.getTime()); // 1596003731590

6. java.text.DateFormat

用于格式化和解析日期字符串的类
DateFormat 是个抽象类, 需要用他的子类SimpleDateFormat进行实体化

构造方法
SimpleDateFormat​(String pattern)
例:

/**
  *   y : 年
  *   M : 月
  *   d : 日
  *   H : 时
  *   m : 分
  *   s : 秒
  */
 SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH:mm ss");

常用方法
format()
将date对象转化为字符串.
例:

SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH:mm ss");
// 将date对象转化为字符串
String text = format.format(new Date());
System.out.println(text); // 2020年07月29日 14:29 26

parse(String str)
将日期字符串转换为date对象
例:

Date date = format.parse("2020年07月29日 14:29 26");
System.out.println(date.getTime()); // 1596004166000

7. java.util.Calendar

用于操作日历
Calender是一个抽象类,实例化需要调用getInstance()方法
例:

// calender
Calendar c1 = Calendar.getInstance();

常用方法

  1. get()
    取出日期
// calender
Calendar c1 = Calendar.getInstance();
// get year
int year = c1.get(Calendar.YEAR);
System.out.println(year); // 2020
// get day of year
int day = c1.get(Calendar.DAY_OF_YEAR); // 今天是今年的第几天
System.out.println(day); // 211
  1. set()
    设置日期
// set year
c1.set(Calendar.YEAR, 2021);
  1. add()
    增加日期
// add month 计算机中日历是0 - 11月
c1.add(Calendar.MONTH, 3);  // c1是七月 计算机中是6
System.out.println(c1.get(Calendar.MONTH));  // 9
  1. getTime()
    获取日历时间表示的date对象
// getTime 获取日历时间表示的date对象
Date d = c1.getTime();
  1. getActualMaximum()
    获得年/月/周中最大天数
// getActualMaximum 获得年/月/周中最大天数
c1.set(Calendar.MONTH, 1);
int m = c1.getActualMaximum(Calendar.DAY_OF_MONTH); // 获取一月的最大天数
System.out.println(m); // 31

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值