02Java标准工具库
文章
01 Object类
Object 通用方法概览java.lang.Object类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。在对象实例化的时候,最终找的父类就是Object。 如果一个类没有特别指定父类, 那么默认则继承自Object类。 123456789101112public native int hashCode()public boolean equals(Object obj)protected native Object clone() throws CloneNotSupportedExceptionpublic String toString()public final native Class<?> getClass()protected void finalize() throws Throwable {}public final native void notify()public final native void notifyAll()public final native void wait(long tim...
02 包装器类
StackOverflow : Differences between new Integer(123), Integer.valueOf(123) and just 123 0 概述Number类包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类 Number 的子类 包装器类Java为了能将8种基本类型当对象来处理,能够连接相关的方法,设置了包装器类。 byte—Byte short—Short int — Integer long—Long char—Character float—Float double—Double boolean—Boolean 包装器类创建由字面值或基本类型的变量创建包装器类对象的方法。 构造方法 new 1Integer i = new Interger(1); 调用包装器类型的valueOf方法 1Double d = Double.valueOf(3.14); 装箱拆箱 装箱Boxing: 将基本类型转化为包装器类型 包装器类.valueOf(基本数据类型变量或常量)。...
03 String类
1 String原理概览String 被声明为 final,因此它不可被继承。(Integer 等包装类也不能被继承) 在 Java 8 中,String 内部使用 char 数组存储数据。 12345public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for character storage. */ private final char value[];} 在 Java 9 之后,String 类的实现改用 byte 数组存储字符串,同时使用 coder 来标识使用了哪种编码。 12345678public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is u...
04 数学计算
1 MathMath类Java 的 Math 包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。 Math中的常量 Math.PI 记录的圆周率 Math.E 记录e的常量 Math中的函数三角函数 Math.sin 正弦函数 Math.asin 反正弦函数 Math.cos 余弦函数 Math.acos 反余弦函数 Math.tan 正切函数 Math.atan 反正切函数 Math.atan2 商的反正切函数 Math.toDegrees 弧度转化为角度 Math.toRadians 角度转化为弧度 舍入函数 Math.abs 求绝对值 Math.ceil 得到不小于某数的最大整数 Math.floor 得到不大于某数的最大整数 Math.IEEEremainder 求余 Math.max 求两数中最大 Math.min 求两数中最小 Math.round 同上,返回int型或者long型(上一个函数返回double型) 指数幂计算 Math.sqrt 求开方 Math.pow 求某数的任意次方, 抛出ArithmeticExceptio...
05 日期时间
1 概述创建日期java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date 对象。 第一个构造函数使用当前日期和时间来初始化对象。 1Date( ) 第二个构造函数接收一个参数,该参数是从 1970 年 1 月 1 日起的毫秒数。 1Date(long millisec) 日期操作 boolean after(Date date)若当调用此方法的Date对象在指定日期之后返回true,否则返回false。 boolean before(Date date)若当调用此方法的Date对象在指定日期之前返回true,否则返回false。 object clone( )返回此对象的副本。 int compareTo(Date date)比较当调用此方法的Date对象和指定日期。两者相等时候返回0。调用对象在指定日期之前则返回负数。调用对象在指定日期之后则返回正数。 int compareTo(Object obj)若obj是Date类型则操作等同于compareTo(Date) 。否则它抛出ClassCastException。 ...
06 Scanner
Scanner基本使用方法12345678910Scanner s = new Scanner(System.in);s.next();s.nextLine();s.hasNext();s.hasNextLine();//尽量关闭掉 s.close(); 读取不同类型的数据 读取会阻塞,但是读取错误的数据会返回false 没有数据——阻塞 有数据,类型正确——true 有数据,类型错误——false 1234567891011121314151617181920212223242526272829303132333435363738394041package com.ykl;import java.util.Scanner;public class ScannerTest { public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.println("使用不同的方式读取数据"); ...
07 正则表达式
https://blog.csdn.net/m0_62618110/article/details/123704869 Java 正则表达式0 概述简介正则表达式(regex)是一个字符串,由字面值字符和特殊符号组成,是用来描述匹配一个字符串集合的模式,可以用来匹配、查找字符串。 正则表达式的两个主要作用: 查找:在字符串中查找符合固定模式的子串 匹配:整个字符串是否符合某个格式 在匹配和查找的基础上,实现替换、分割等操作。 基本实例1234567891011121314151617181920212223242526import java.util.regex.Matcher;import java.util.regex.Pattern; public class RegexMatches{ public static void main( String[] args ){ // 按指定模式在字符串查找 String line = "This order was placed for QT3000! OK?&qu...
08 随机数Random
2 Random简介在 Java中要生成一个指定范围之内的随机数字有两种方法:一种是调用 Math 类的 random() 方法,一种是使用 Random 类。 Random():该构造方法使用一个和当前系统时间对应的数字作为种子数,然后使用这个种子数构造 Random 对象。Random(long seed):使用单个 long 类型的参数创建一个新的随机数生成器。 Random 类提供的所有方法生成的随机数字都是均匀分布的,也就是说区间内部的数字生成的概率是均等的 实例123456789101112131415161718192021package cn.itcast.demo1; import java.util.Random;//使用时需要先导包import java.util.Scanner; public class RAndom { public static void main(String[] args) { Random r = new Random();//以系统自身时间为种子数 int i = r.n...
09 System类
1 System比较有用的方法1234567891011121314static void setIn(InputStream in) // 标准输入的重定向static void setOut(PrintStream out) // 标准输出的重定向static void setErr(PrintStream err) // 标准错误的重定向/******************************/static Map<String,String> getenv() // 返回所有的环境变量的键值对static String getenv(String name) // 返回特定环境变量的值/******************************/static Properties getProperties() // 返回所有的系统属性static String getProperty(String key) // 返回特定的系统属性的值/******************************/static ...
11 Unsafe类
我们在阅读JAVA并发编程中JUC包下的类源码的时候,经常看见Unsafe类,但是有一个疑惑,为什么处理并发安全的类,要起名为“不安全”呢?后来对于Unsafe深入理解之后,才知道作者的原意,这里说的不安全并不是针对于并发操作,而是指:该类对于普通程序员来说是“危险”的,一般开发者不应该也不会用到此类。因为Unsafe类功能过于强大,提供了一些可以绕开JVM的更底层的功能。它让JAVA拥有了想C语言的指针一样操作内存空间的能力,能够提升效率,但是也带来了指针的复杂性等问题,所以官方并不建议使用,并且没提供文档支持,甚至计划在高版本去除该类。 1 Unsafe构造及获取 Unsafe类使用final修饰,不允许继承,且构造函数是private,使用了饿汉式单例,通过一个静态方法getUnsafe()来获取实例。 2 Unsage功能概述 内存管理 Unsafe的内存管理功能主要包括:普通读写、volatile读写、有序写入、直接操作内存等分配内存与释放内存的功能。 3.1.1、普通读写 Unsafe可以读写一个类的属性,即便这个属性是私有的,也可以对这个属性...














