Java常用工具类API

API概述

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

javaAPI的常用类

  1. Object
    所有类的基类
    所有类都直接或者间接的继承Object类

  2. 包装类
    基础数据类型不具备面向对象的概念,为了弥补不足,引入了包装类方便使用面对对象的变成思想操作基本类型。

  3. String
    String是由多个字符组成的
    也可以看作是字符数组

  4. java.util
    Java提供了一些实用的方法和数据结构。例如,Java提供日期(Data)类、 计算函数(math)类
    在这里插入图片描述

String常用的方法

在这里插入图片描述

String类的型转换功能

在这里插入图片描述

String的注意事项

在这里插入图片描述

StringBuffer概述

StringBuffer是用来解决String更改字符串造成的时间浪费和空间浪费的。

StringBuffer的常用方法

在这里插入图片描述

String 和StringBuffer的区别

在这里插入图片描述

什么是包装

java中的数据类型int,double等不是对象,无法通过向上转型获取到Object提供的方法,而像String却可以,只因为String是一个对象而不是一个类型。基本数据类型由于这样的特性,导致无法参与转型,泛型,反射等过程。为了弥补这个缺陷,java提供了包装类。

包装类的实现

java为我们提供了基本数据类型的包装类,这些包装类分为两类,一种是对象型包装类,不继承任何其他类(Object的直接子类),另一种是数值型包装类,继承于Number类。

// byte的包装类
public final class Byte extends Number implements Comparable<Byte>

// short的包装类
public final class Short extends Number implements Comparable<Short> 

// int的包装类
public final class Integer extends Number implements Comparable<Integer>

// long的包装类
public final class Long extends Number implements Comparable<Long> 

// float的包装类
public final class Float extends Number implements Comparable<Float> 

// double的包装类
public final class Double extends Number implements Comparable<Double>

//Boolean和Character两个类就是正常的属性方法封装,但是数值型的包装类继承了一个Number类。
public abstract class Number implements java.io.Serializable 
其实Number中定义的方法就是用于拆箱装箱的。

装箱与拆箱

装箱:
  把基本数据类型封装成包装类
 拆箱:
  将包装类中包装的基本数据类型数据取出。
Integer i = new Inreger(1);//装箱
Integer i = 1;//自动装箱
i += 1;自动拆箱,通过intValue方法
ps:在java1.5之后才可以自动装箱,拆箱

自动装箱的内存复用

生成的Integer实例化对象是由 IntegerCache.cache() 方法产生,它会复用已有对象。
cache()方法会将位于-128~127范围内产生的Integer对象入池

注意事项

所以,在这个数值区间内的 Integer对象的栈指向可以直接使用==进行判断,因为值相同,指向的就是同一片区域。但是这个区间之外的所有数据,自动装箱都会在堆上产生实例化,并不再复用已有对象,
推荐使用 equals 方法进行Integer的判断。

包装类编码规约
所有的相同类型的包装类对象之间值的比较,全部使用equals()方法。
推荐所有的局部变量使用基本数据类型。

Integer的常用方法

在这里插入图片描述

Character常用的方法

在这里插入图片描述

Math概述

Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。

Math的常用方法

在这里插入图片描述

Date的构造方法

public Date()
public Date (long date)
public Date(String s)
public Date(int year,int month,int date)
public Date(int year,int month,int date,int hrs,int min)

Date时间格式化

/** 输出格式: 2016-10-26 4:48:11*/
System.out.println((new java.text.SimpleDateFormat("yyyy-M-d h:mm:ss")).format(new Date()));
/** 输出格式: 2016-10-26 16:48:11 */
System.out.println((new java.text.SimpleDateFormat("yyyy-M-d H:mm:ss")).format(new Date()));
这里需要注意的就是24时和12时的显示正则,H大写为24时计时法,h小写为12时计时法,两个h时,即hh,当为个位数时间时前面自动补0即下午4点显示04

Calendar概述

Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法

Character常用的方法

在这里插入图片描述

Random概述

此类用于产生随机数
如果用相同的种子创建两个 Random 实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。

Random常用的方法

在这里插入图片描述

java1.8新特性

  1. Lambda表达式
    lambda表达式本质上是一段匿名内部类,也可以是一段可以传递的代码
  2. 新时间日期API
    新的日期API都是不可变的,更多使用于多线程的使用环境中。
  3. 红黑树
    红黑树(Red-Black Tree,简称R-B Tree),它一种特殊的二叉查找树。
    红黑树是特殊的二叉查找树,意味着它满足二叉查找树的特征:任意一个节点所包含的键值,大于等于左孩子的键值,小于等于右孩子的键值。
    除了具备该特性之外,红黑树还包括许多额外的信息。
红黑树的概述

红黑树(Red Black Tree) 是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组

红黑树的概念

红黑树是为了维护二叉查找树的平衡而产生的一种树,根据维基百科的定义,红黑树有四个特性:
性质1. 节点是红色或黑色。
性质2. 根节点是黑色。
性质3 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)
性质4. 从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。

LocalDateTime常用的方法

//获取当前时间
LocalDate now = LocalDate.now(ZoneId.systemDefault());
//获取当前时间
LocalDateTime now = LocalDateTime.now(ZoneId.systemDefault());
//获取指定日期的时间
LocalDateTime now = LocalDateTime.of(2017, 9, 22, 15, 40, 00);
//LocalDate/LocalDateTime转换为Date
Date date = Date.from(now.atZone(ZoneId.systemDefault()).toInstant());
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值