Java的常用类库
java.util.Objects:
变量和类型 | 方法 | 描述 |
---|---|---|
static int | checkFromIndexSize(int fromIndex, int size, int length) | 检查是否在子范围从fromIndex (包括)到 fromIndex+size(不包括)是范围界限内 0(包括)到 length(不包括)。 |
static int | checkFromToIndex(int fromIndex, int toIndex, int length) | 检查是否在子范围从 fromIndex (包括)到 toIndex (不包括)是范围界限内 0(包括)到 length(不包括)。 |
static int | checkIndex(int index, int length) | 检查 index是否在0(含)到 length(不包括)范围内。 |
static int | compare(T a, T b, Comparator<? super T> c) | 如果参数相同则返回0,否则返回 c.compare(a, b)。 |
static boolean | deepEquals(Object a, Object b) | 返回 true如果参数是深层相等,彼此 false其他。 |
static boolean | equals(Object a, Object b) | 返回 true如果参数相等,彼此 false其他。 |
static int | hash(Object… values) | 为一系列输入值生成哈希码。 |
static int | hashCode(Object o) | 返回非的哈希码 null参数,0为 null的论点。 |
static boolean | isNull(Object obj) | 返回 true如果提供的参考是 null ,否则返回 false 。 |
static boolean | nonNull(Object obj) | 返回 true如果提供的参考是非 null否则返回false 。 |
static int | requireNonNull(T obj) | 检查指定的对象引用是否不是 null 。 |
static int | requireNonNull(T obj, String message) | 检查指定的对象引用是否为null ,如果是,则抛出自定义的NullPointerException |
static int | requireNonNull(T obj, Supplier messageSupplier) | 检查指定的对象引用是否为null ,如果是,则抛出自定义的NullPointerException |
static int | requireNonNullElse(T obj, T defaultObj) | 如果它是非 null ,则返回第一个参数,否则返回非null第二个参数。 |
static int | requireNonNullElseGet(T obj, Supplier<? extends T> supplier) | 如果它是非null,则返回第一个参数,否则返回非null值 supplier.get() 。 |
static String | toString(Object o) | 返回调用的结果 toString对于非 null参数, "null"为 null的说法。 |
static String | toString(Object o, String nullDefault) | 如果第一个参数不是null ,则返回在第一个参数上调用toString的结果,否则返回第二个参数。 |
java.lang.Math:
-
类
Math
包含用于执行基本数字运算的方法,例如基本指数,对数,平方根和三角函数。常用方法如下:
变量和类型 方法 描述 static double abs(double a) 返回double值的绝对值 static double acos(double a) 返回值的反余弦值; 返回的角度在0.0到pi的范围内。 static double asin(double a) 返回值的反正弦值; 返回的角度在*-pi* / 2到pi / 2的范围内。 static double atan(double a) 返回值的反正切值; 返回的角度在*-pi* / 2到pi / 2的范围内。 static int addExact(int x, int y) 返回其参数的总和,如果结果溢出 int
则抛出异常。static double atan2(double y, double x) 返回从直角坐标(转换角度 theta x
,y
)为极坐标 (R,θ-)static double cbrt(double a) 返回 double
值的多维数据集根。static double ceil(double a) 返回大于或等于参数且等于数学整数的最小值(最接近负无穷大)double。 static double copySign(double magnitude, double sign) 返回带有第二个浮点参数符号的第一个浮点参数。 static double cos(double a) 返回角度的三角余弦值。 static double cosh(double x) 返回 double
值的双曲余弦值。static int decrementExact(int a) 返回参数递减1,如果结果溢出 int
则抛出异常。static double expm1(double x) 返回 e x -1。 static double floor(double a) 返回小于或等于参数且等于数学整数的最大值(最接近正无穷大)double 。 static int floorDiv(int x, int y) 返回小于或等于代数商的最大值(最接近正无穷大)int。 static int floorMod(long x, int y) 返回long和int参数的floor数。 static double fma(double a, double b, double c) 返回三个参数的融合乘法加法; 也就是说,返回与第三个参数相加的前两个参数的精确乘积,然后舍入一次到最接近的double 。 static int getExponent(double d) 返回double表示中使用的无偏指数。 static double hypot(double x, double y) 返回sqrt( x 2 + y 2 ),没有中间溢出或下溢。 static int incrementExact(int a) 返回以1递增的参数,如果结果溢出int则抛出异常。 static double max(double a, double b) 返回两个 double
值中较大的double
。static double min(double a, double b) 返回两个 double
值中较小的double
。static int multiplyExact(int x, int y) 返回参数的乘积,如果结果溢出 int
则抛出异常。static int negateExact(int a) 返回参数的否定,如果结果溢出 int
则抛出异常。static double rint(double a) 返回与 double
值最接近的double
值,该值等于数学整数。static int round(float a) 返回与参数最接近的 int
,并将关系四舍五入为正无穷大。static int subtractExact(int x, int y) 返回参数的差异,如果结果溢出 int
则抛出异常。
java.util.Arrays:
-
该类包含用于操作数组的各种方法(例如排序和搜索)。 此类还包含一个静态工厂,允许将数组视为列表。
常用方法如下:
变量和类型 方法 描述 static List asList(T... a)
返回由指定数组支持的固定大小的列表。 static int binarySearch(byte[] a, byte key) 使用二进制搜索算法在指定的字节数组中搜索指定的值。 static int compare(boolean[] a, boolean[] b) boolean字典顺序比较两个boolean阵列。 static int compareUnsigned(byte[] a, byte[] b) byte字典顺序比较两个byte阵列,数字处理元素为无符号。 static int copyOf(int[] original, int newLength) 使用零复制指定的数组,截断或填充(如有必要),以使副本具有指定的长度。 static int copyOfRange(int[] original, int from, int to) 将指定数组的指定范围复制到新数组中。 static boolean deepEquals(Object[] a1, Object[] a2) 如果两个指定的数组彼此 深度相等 ,则返回 true
。static int deepHashCode(Object[] a) 返回基于指定数组的“深层内容”的哈希码。 static String deepToString(Object[] a) 返回指定数组的“深层内容”的字符串表示形式。 static boolean equals(byte[] a, byte[] a2) 如果两个指定的字节数组彼此 相等 ,则返回 true
。static void fill(int[] a, int fromIndex, int toIndex, int val) 将指定的int值分配给指定的int数组的指定范围的每个元素。 static int hashCode(double[] a) 根据指定数组的内容返回哈希码。 static int mismatch(boolean[] a, boolean[] b) 查找并返回两个 boolean
数组之间第一个不匹配的索引,否则如果未找到不匹配则返回-1。static void parallelSort(byte[] a) 将指定的数组按升序排序。 static void setAll(double[] array, IntToDoubleFunction generator) 使用提供的生成器函数设置指定数组的所有元素以计算每个元素。 static void sort(byte[] a, int fromIndex, int toIndex) 按升序对数组的指定范围进行排序。 static Spliterator.OfDouble spliterator(double[] array) 返回覆盖所有指定数组的 Spliterator.OfDouble
。static String toString(double[] a) 返回指定数组内容的字符串表示形式。
java.math.BigDecimal:
-
BigDecimal
类提供算术,比例操作,舍入,比较,散列和格式转换的操作。构造方法如下:
构造器 描述 BigDecimal(char[] in) 将 BigDecimal
的字符数组表示BigDecimal
转换为BigDecimal
,接受与BigDecimal(String)
构造函数相同的字符序列。BigDecimal(char[] in, int offset, int len, MathContext mc) 将 BigDecimal
的字符数组表示转换为BigDecimal
,接受与BigDecimal(String)
构造函数相同的字符序列,同时允许指定子数组并根据上下文设置进行舍入。BigDecimal(double val, MathContext mc) 将 double
转换为BigDecimal
,并根据上下文设置进行舍入。BigDecimal(int val) 将 int
翻译成BigDecimal
。BigDecimal(BigInteger unscaledVal, int scale, MathContext mc) 将 BigInteger
缩放值和int
比例转换为BigDecimal
,并根据上下文设置进行舍入。常用方法如下:
变量和类型 方法 描述 BigDecimal abs(MathContext mc) 返回 BigDecimal
其值为此BigDecimal
的绝对值,并根据上下文设置进行舍入。BigDecimal add(BigDecimal augend, MathContext mc) 返回 BigDecimal
其值为(this + augend)
,根据上下文设置进行舍入。byte byteValueExact() 将 BigDecimal
转换为byte
,检查是否丢失了信息。BigDecimal divide(BigDecimal divisor) 返回BigDecimal其值为(this / divisor) ,其首选比例为(this.scale() - divisor.scale()); 如果无法表示准确的商(因为它具有非终止的十进制扩展),则抛出ArithmeticException BigDecimal divide(BigDecimal divisor, int scale, RoundingMode roundingMode) 返回BigDecimal其值为(this / divisor) ,其比例为指定的比例。 BigDecimal[] divideAndRemainder(BigDecimal divisor, MathContext mc) 返回一个两元件BigDecimal阵列含有的结果 divideToIntegralValue,随后的结果remainder上与根据上下文设置进行舍入计算出的两个操作数。 double doubleValue() 将 BigDecimal
转换为double
。boolean equals(Object x) 将此 BigDecimal
与指定的Object
进行相等性比较。int intValueExact() 将 BigDecimal
转换为int
,检查是否丢失了信息。BigDecimal max(BigDecimal val) 返回 BigDecimal
和val
。BigDecimal movePointLeft(int n) 返回一个 BigDecimal
,相当于这个小数点向左移动n
位置。BigDecimal multiply(BigDecimal multiplicand, MathContext mc) 返回 BigDecimal
其值为(this × multiplicand)
,根据上下文设置进行舍入。BigDecimal negate(MathContext mc) 返回BigDecimal其值为(-this) ,根据上下文设置进行舍入。 BigDecimal plus(MathContext mc) 返回BigDecimal其值为(+this) ,根据上下文设置进行舍入。 BigDecimal round(MathContext mc) 返回 BigDecimal
根据四舍五入MathContext
设置。BigDecimal sqrt(MathContext mc) 返回 this
平方根的this
并根据上下文设置进行舍入。static BigDecimal valueOf(double val) 转换一个 double
成BigDecimal
,使用double
通过所提供的规范的字符串表示Double.toString(double)
方法。
java.util.Date:
-
Date
类表示特定的时刻,精度为毫秒。常用方法为:
变量和类型 方法 描述 boolean after(Date when) 测试此日期是否在指定日期之后。 boolean before(Date when) 测试此日期是否在指定日期之前。 Object clone() 返回此对象的副本。 int compareTo(DateanotherDate) 比较两个日期的订购。 boolean equals(Object obj) 比较两个相等的日期。 staticDate from(Instant instant) 从 Instant
对象获得Date
的实例。long getTime() 返回自此 Date
对象表示的1970年1月1日00:00:00 GMT以来的毫秒数。int hashCode() 返回此对象的哈希码值。 void setTime(long time) 将此 Date
对象设置为表示格林尼治标准时间1970年1月1日00:00:00之后的time
毫秒的时间点。Instant toInstant() 将此 Date
对象转换为Instant
。String toString() 将此 Date
对象转换为以下形式的String
:
java.text.DateFormat:
-
DateFormat
是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化和分析日期或时间。常用方法如下:
变量和类型 方法 描述 Object clone() 覆盖Cloneable boolean equals(Object obj) 覆盖等于 StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition fieldPosition) 将给定的 Object
为日期时间字符串。String format(Date date) 将 Date
格式化为日期时间字符串。static Locale[] getAvailableLocales() 返回 get*Instance
方法可以返回本地化实例的所有语言环境的数组。Calendar getCalendar() 获取与此日期/时间格式化程序关联的日历。 static DateFormat getDateInstance(int style) 获取具有默认 FORMAT
语言环境的给定格式样式的日期格式化程序。static DateFormat getDateTimeInstance(int dateStyle, int timeStyle) 获取具有默认 FORMAT
语言环境的给定日期和时间格式样式的日期/时间格式化程序。static DateFormat getInstance() 获取一个默认的日期/时间格式化程序,它使用SHORT样式作为日期和时间。 TimeZone getTimeZone() 获取时区。 int hashCode() 覆盖hashCode boolean isLenient() 判断日期/时间解析是否宽松。 Date parse(String source) 从给定字符串的开头解析文本以生成日期。 abstractDate parse(String source, ParsePosition pos) 根据给定的解析位置解析日期/时间字符串。 void setCalendar(Calendar newCalendar) 设置此日期格式使用的日历。 void setLenient(boolean lenient) 指定日期/时间解析是否宽松。 void setNumberFormat(NumberFormat newNumberFormat) 允许您设置数字格式化程序。 void setTimeZone(TimeZone zone) 设置此 DateFormat
对象的日历的时区。
java.util.Calendar:
-
所述
Calendar
类是一个抽象类,可以为在某一特定时刻和一组之间的转换的方法calendar fields
如YEAR
,MONTH
,DAY_OF_MONTH
,HOUR
,等等,以及用于操纵该日历字段,如获取的日期下个星期。常用方法如下:
变量和类型 方法 描述 abstract void add(int field, int amount) 根据日历的规则,将指定的时间量添加或减去给定的日历字段。 boolean after(Object when) 返回此 Calendar
是否表示指定的Object
表示的时间之后的时间。boolean before(Object when) 返回此 Calendar
是否表示指定的Object
代表的时间之前的时间。void clear(int field) 设置此 Calendar
未定义的给定日历字段值和时间值(距离 Epoch的毫秒偏移量)。Object clone() 创建并返回此对象的副本。 int compareTo(Calendar anotherCalendar) 比较两个 Calendar
对象表示的时间值(从 Epoch开始的毫秒偏移)。int getActualMaximum(int field) 给定此 Calendar
的时间值,返回指定日历字段可能具有的Calendar
。int getFirstDayOfWeek() 得到一周的第一天是什么; 例如,SUNDAY在美国, MONDAY在法国。 abstract int getGreatestMinimum(int field) 返回此 Calendar
实例的给定日历字段的最高最小值。static Calendar getInstance(Locale aLocale) 使用默认时区和指定的区域设置获取日历。 protected int internalGet(int field) 返回给定日历字段的值。 void set(int year, int month, int date) 设置日历字段的值 YEAR
,MONTH
和DAY_OF_MONTH
。void setTime(Date date) 使用给定的 Date
设置此日历的时间。void setWeekDate(int weekYear, int weekOfYear, int dayOfWeek) 使用给定的日期说明符设置此 Calendar
的日期 - 星期年,星期几和星期几。String toString() 返回此日历的字符串表示形式。
java.lang.System:
-
System
类包含几个有用的类字段和方法。 它无法实例化。System
类提供的设施包括标准输入,标准输出和错误输出流; 访问外部定义的属性和环境变量; 加载文件和库的方法; 以及用于快速复制阵列的一部分的实用方法。常用方法如下:
变量和类型 方法 描述 static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 将指定源数组中的数组从指定位置开始复制到目标数组的指定位置。 static String clearProperty(String key) 删除指定键指示的系统属性。 static long currentTimeMillis() 以毫秒为单位返回当前时间。 static String getenv(String name) 获取指定环境变量的值。
java.lang.String:
String类表示字符串。Java程序中的所有字符串文字(例如"abc")都实现为此类的实例。
字符串是不变的; 它们的值在创建后无法更改。 字符串缓冲区支持可变字符串。 因为String对象是不可变的,所以可以共享它们。 例如:
String str = "abc";
相当于:
char data[] = {'a', 'b', 'c'}; String str = new String(data);
以下是一些如何使用字符串的示例:
System.out.println("abc"); String cde = "cde"; System.out.println("abc" + cde); String c = "abc".substring(2,3); String d = cde.substring(1, 2);
类String
包括用于检查序列的各个字符,用于比较字符串,用于搜索字符串,用于提取子字符串以及用于创建具有被翻译为大写或小写的所有字符的字符串的副本的方法。
常用方法如下:
变量和类型 | 方法 | 描述 |
---|---|---|
char | charAt(int index) | 返回指定索引处的 char 值。 |
int | codePointBefore(int index) | 返回指定索引之前的字符(Unicode代码点)。 |
int | codePointCount(int beginIndex, int endIndex) | 返回此String的指定文本范围内的Unicode代码点数。 |
int | compareToIgnoreCase(String str) | 按字典顺序比较两个字符串,忽略大小写差异。 |
String | concat(String str) | 将指定的字符串连接到此字符串的末尾。 |
boolean | contentEquals(CharSequence cs) | 将此字符串与指定的 CharSequence 。 |
boolean | equals(Object anObject) | 将此字符串与指定的对象进行比较。 |
void | getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) | 将此字符串中的字符复制到目标字符数组中。 |
int | indexOf(int ch, int fromIndex) | 返回指定字符第一次出现的此字符串中的索引,从指定索引处开始搜索。 |
int | lastIndexOf(int ch, int fromIndex) | 返回指定字符最后一次出现的字符串中的索引,从指定的索引开始向后搜索。 |
int | length() | 返回此字符串的长度。 |
boolean | regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) | 测试两个字符串区域是否相等。 |
String | replace(CharSequence target, CharSequence replacement) | 将此字符串中与文字目标序列匹配的每个子字符串替换为指定的文字替换序列。 |
String | strip() | 返回一个字符串,其值为此字符串,并删除了所有前导和尾随 white space 。 |
static String | valueOf(double d) | 返回 double 参数的字符串表示形式。 |