Java学习4-2_常用工具类

常用库类

一、 java.util.Objects

1 Object方法

1.1 equals

equals方法是判断两个对象是否相等,并且它是空安全(null safe)的。

在比较两个对象的时候,Object.equals方法容易抛出空指针异常。

源码如下

public static boolean equals(Object a, Object b) {
    
    
        return (a == b) || (a != null && a.equals(b));
    }

1.2 deepEquals

验证两个数组是否深层相等(deep equality),该方法在数组比较中尤其有用。

1.3 hash(Object… values)

为输入值序列生成散列码(hash code)。

1.4 toString(Object o)

如果参数不为 null 则返回调用 toString 的结果,否则返回 null

1.5 requireNonNull(T obj)

如果参数不为 null 则返回 T ,否则抛出 NullPointerException。

二、java.lang.Math

常用方法

  1. Math.round(),返回最接近参数的 int,它表示"四舍五入"
  2. Math.rint(),返回最接近参数并等于某一整数的 double 值,如果有2个数同样接近,则返回偶数的那个
  3. Math.floor() ,返回最大的(最接近正无穷大)double 值,该值小于等于参数,并等于某个整数
  4. Math.ceil(),返回最小的(最接近负无穷大)double 值,该值大于等于参数,并等于某个整数
  5. Math.cbrt(),返回 double 值的立方根
  6. Math.sqrt(),返回正确舍入的 double 值的正平方根
  7. Math.pow(),返回第一个参数的第二个参数次幂的值
  8. Math.max(),返回两个 double 值中较大的一个
  9. Math.min(),返回两个 double 值中较小的一个
  10. Math.abs(),求取绝对值

三、java.util.Arrays

Arrays类包含用来处理数组的各种方法,而且每个方法基本上都是静态方法,能直接通过类名Arrays调用。

  1. asList(), 作用是返回由指定数组支持的固定大小列表, 这个方法返回的 ArrayList 不是我们常用的集合类 java.util.ArrayList。这里的 ArrayList 是 Arrays 的一个内部类 java.util.Arrays.ArrayList
  2. sort(),该方法是用于数组排序,在 Arrays 类中有该方法的一系列重载方法,能对7种基本数据类型,包括 byte,char,double,float,int,long,short 等都能进行排序,还有 Object 类型(实现了Comparable接口),以及比较器 Comparator。
  3. binarySearch(),用二分法查找数组中的某个元素。该方法和 sort 方法一样,适用于各种基本数据类型以及对象。
  4. copyOf(), 拷贝数组元素。底层采用 System.arraycopy() 实现,这是一个native方法。
  5. fill(), 该系列方法用于给数组赋值,并能指定某个范围赋值。

四、java.math.BigDecimal

Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。一般情况下,对于那些不需要准确计算精度的数字,我们可以直接使用Float和Double处理,但是Double.valueOf(String) 和Float.valueOf(String)会丢失精度。所以开发中,如果我们需要精确计算的结果,则必须使用BigDecimal类

  1. abs(),返回BigDecimal值的绝对值BigDecimal。
  2. abs(MathContext mc),返回BigDecimal值的绝对值的BigDecimal,并根据上下文设置进行舍入。
  3. add(BigDecimal augend),返回值为(this + augend),且其比例为的值max(this.scale(), augend.scale())。
  4. add(BigDecimal augend, MathContext mc),返回值为(this + augend),根据上下文设置进行舍入。
  5. byteValueExact(),将其转换BigDecimal为byte,并且检查丢失的信息。
  6. compareTo(BigDecimal val), 将BigDecimal与指定的val进行比较。
  7. divide(BigDecimal divisor),返回值为(this / divisor),其首选比例为(this.scale() - divisor.scale()); 如果无法表示确切的商(因为它具有非终止的十进制扩展),ArithmeticException则抛出一个。

五、java.util.Date

标准时间:1970年1月1日0时0分0秒。每个地区的标准时间是不一样的,因为存在时区的差异新,中国属于东八区,因此标准时间是1970年1月1日8时0分0秒

  1. Date(),用于无参的方式构造对象,默认使用当前的系统时间。
  2. Date(long date),根据参数指定的毫秒数来构造对象,其中参数为距离1970年1月1日0时0分0秒的毫秒数(与File类搭配使用)
  3. getTime(), 获取当前对象距离1970年1月1日0时0分0秒的毫秒数
  4. setTime(), 用于设置当前对象的时间为参数指定的毫秒数,距离标准时间

六、java.text.DateFormat

此类用于格式化时间输出

  1. parse(),解析字符串的文本,返回 Date。
  2. format(),将一个 Date 格式化为日期/时间字符串。

七、java.util.Calendar

用于描述日期信息的,该类中很多方法取代了Date类的过时方法。该类是一个抽象类,不能实例化对象。

  1. getInstance(),用户获取当前类的引用
  2. set(int year, int month, int date, int hourOfDay, int minute, int second),根据参数设置年月日时分秒
  3. getTime(), 用于将Calendar类型转换为Date类型并返回。

八、java.lang.System

提供的设施包括标准输入,标准输出和错误输出流; 访问外部定义的属性和环境变量; 加载文件和库的方法; 以及用于快速复制阵列的一部分的实用方法

  1. 字段

    修饰符和类型 领域和描述
    public final static PrintStream err “标准”错误输出流。
    public final static InputStream in “标准”输入流。
    public final static PrintStream out “标准”输出流。
  2. 方法

  3. currentTimeMillis(),返回正在运行的Java虚拟机的高分辨率时间源的当前值,以纳秒为单位

  4. nanoTime(),将指定源数组中的数组从指定位置开始复制到目标数组的指定位置

  5. arraycopy(Object src, int srcPos, Object dest, int destPos, int length),

  6. lineSeparator(),返回依赖于系统的行分隔符字符串。

  7. getProperties(),确定当前系统属性

  8. 相关属性

    相关价值的描述
    java.version Java Runtime Environment版本
    java.vendor Java运行时环境供应商
    java.vendor.url Java供应商URL
    java.home Java安装目录
    java.vm.specification.version Java虚拟机规范版本
    java.vm.specification.vendor Java虚拟机规范供应商
    java.vm.specification.name Java虚拟机规范名称
    java.vm.version Java虚拟机实现版本
    java.vm.vendor Java虚拟机实现供应商
    java.vm.name](http://java.vm.name/) Java虚拟机实现名称
    java.specification.version Java运行时环境规范版本
    java.specification.vendor Java运行时环境规范供应商
    java.specification.name Java运行时环境规范名称
    java.class.version Java类格式版本号
    java.class.path Java类路径
    java.library.path 加载库时要搜索的路径列表
    java.io.tmpdir 默认临时文件路径
    java.compiler 要使用的JIT编译器的名称
    java.ext.dirs 扩展目录或目录的路径 已过时。 可以在将来的版本中删除此属性以及实现它的机制。
    os.name 操作系统名称
    os.arch 操作系统架构
    os.version 操作系统版本
    file.separator 文件分隔符(UNIX上的“/”)
    path.separator 路径分隔符(UNIX上的“:”)
    line.separator 行分隔符(UNIX上为“\ n”)
    user.name 用户的帐户名称
    user.home 用户的主目录
    user.dir 用户当前的工作目录

九、String

常用方法

SN(序号) 方法描述
1 char charAt(int index),返回指定索引处的 char 值。
2 int compareTo(Object o),把这个字符串和另一个对象比较。
3 int compareTo(String anotherString),按字典顺序比较两个字符串。
4 int compareToIgnoreCase(String str),按字典顺序比较两个字符串,不考虑大小写。
5 String concat(String str),将指定字符串连接到此字符串的结尾。
6 boolean contentEquals(StringBuffer sb),当且仅当字符串与指定的StringBuffer有相同顺序的字符时候返回真。
7 static String copyValueOf(char data),返回指定数组中表示该字符序列的 String。
8 static String copyValueOf(char data, int offset, int count),返回指定数组中表示该字符序列的 String。
9 boolean endsWith(String suffix),测试此字符串是否以指定的后缀结束。
10 boolean equals(Object anObject),将此字符串与指定的对象比较。
11 boolean equalsIgnoreCase(String anotherString),将此 String 与另一个 String 比较,不考虑大小写。
12 byte getBytes(),使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
13 byte getBytes(String charsetName),使用指定的字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
14 void getChars(int srcBegin, int srcEnd, char dst, int dstBegin),将字符从此字符串复制到目标字符数组。
15 int hashCode(),返回此字符串的哈希码。
16 int indexOf(int ch),返回指定字符在此字符串中第一次出现处的索引。
17 int indexOf(int ch, int fromIndex),返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。
18 int indexOf(String str),返回指定子字符串在此字符串中第一次出现处的索引。
19 int indexOf(String str, int fromIndex),返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。
20 String intern(),返回字符串对象的规范化表示形式。
21 int lastIndexOf(int ch),返回指定字符在此字符串中最后一次出现处的索引。
22 int lastIndexOf(int ch, int fromIndex),返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。
23 int lastIndexOf(String str),返回指定子字符串在此字符串中最右边出现处的索引。
24 int lastIndexOf(String str, int fromIndex), 返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。
25 int length(),返回此字符串的长度。
26 boolean matches(String regex),告知此字符串是否匹配给定的正则表达式。
27 boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len),测试两个字符串区域是否相等。
28 boolean regionMatches(int toffset, String other, int ooffset, int len),测试两个字符串区域是否相等。
29 String replace(char oldChar, char newChar),返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
30 String replaceAll(String regex, String replacement),使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
31 String replaceFirst(String regex, String replacement),使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。
32 String split(String regex),根据给定正则表达式的匹配拆分此字符串。
33 String split(String regex, int limit),根据匹配给定的正则表达式来拆分此字符串。
34 boolean startsWith(String prefix), 测试此字符串是否以指定的前缀开始。
35 boolean startsWith(String prefix, int toffset),测试此字符串从指定索引开始的子字符串是否以指定前缀开始。
36 CharSequence subSequence(int beginIndex, int endIndex),返回一个新的字符序列,它是此序列的一个子序列。
37 String substring(int beginIndex),返回一个新的字符串,它是此字符串的一个子字符串。
38 String substring(int beginIndex, int endIndex),返回一个新字符串,它是此字符串的一个子字符串。
39 toCharArray(),将此字符串转换为一个新的字符数组。
40 String toLowerCase(),使用默认语言环境的规则将此 String 中的所有字符都转换为小写。
41 String toLowerCase(Locale locale),使用给定 Locale 的规则将此 String 中的所有字符都转换为小写。
42 String toString(),返回此对象本身(它已经是一个字符串!)。
43 String toUpperCase(),使用默认语言环境的规则将此 String 中的所有字符都转换为大写。
44 String toUpperCase(Locale locale),使用给定 Locale 的规则将此 String 中的所有字符都转换为大写。
45 String trim(),返回字符串的副本,忽略前导空白和尾部空白。
46 static String valueOf(primitive data type x),返回给定data type类型x参数的字符串表示形式。
47 CharSequence chars(),判断是否包含指定的字符系列。
48 isEmpty(),判断字符串是否为空。

猜你喜欢

转载自blog.csdn.net/Sky_Coolssy/article/details/108802281
今日推荐