一,,
Arrays :
操作数组的工具类,该类包含用于操作数组的各种方法(例如排序和搜索)。
静态工厂-->包含的都是静态方法
static StringdeepToString(Object[]a)返回指定数组的“深层内容”的字符串表示形式。-->针对于多维数组
static boolean deepEquals(Object[] a1, Object[] a2) 如果两个指定的数组彼此 深度相等 ,则返回 true 。
数组拷贝
staticint[] copyOf(int[] original, int newLength)使用零复制指定的数组,截断或填充(如有必要),以使副本具有指定的长度。
参数:
original原数组
newLength 新数组长度
newLength == original.length 拷贝
newLength < >original.length 截取
newLength > >original.length 填充
返回值:
新数组(已经拷贝完毕之后的新数组)
注意:
copyOf方法内部会做数据的拷贝+新数组的创建
只能从原数组索引为0的位置开始拷贝,不能实现拷贝原数组某一段指定区间的数据
static int[]copyOfRange(int[] original, int from, int to)将指定数组的指定范围复制到新数组中。
参数:
original原数组
from起始索引
to 结束索引
返回值:
新数组(已经拷贝完毕之后的新数组)
注意:
copyOfRange方法内部会做数据的拷贝+新数组的创建
结束索引不包含
staticvoid arraycopy(Object src, int srcPos, Object dest, int destPos, int length)将指定源数组中的数组从指定位置开始复制到目标数组的指定位置。
参数:
src原数组
srcPos :原数组要被的起始索引
dest新数组
destPos :拷贝到新数组的指定索引
length拷贝数据的个数
注意: 只做数据拷贝,不创建新数组
二,
基本数据类型包装类:
有了基本数据类型为什么提供包装类:
包装类是类,类中可以提供封装很多功能
集合等结构中只能存储引用数据类型的数据
在具体业务下,表示类似余额等数据,包装类型默认值为null与0|0.0,能区分就没充值,余额为0等两种状态
有了包装类还要保留基本数据类型:
基本数据类型有利于节省内容
jdk5新增:自动拆装箱
基本<-->包装类
自动装箱: 基本--> 引用
自动拆箱: 引用--> 基本
包装类:
byte ---> Byte
short ---> Short
int ---> Integer
long ---> Long
float ---> Float
double ---> Double
boolean ---> Boolean
char ---> Character
基本类型与包装类对象比较问题:
在数据值相同的情况下:
1.两个new的对象,堆内存地址不同,不相等
2.如果基本数据类型与包装类之间(Integer|new Integer),都会先发生自动拆箱,然后再比较,值相等就相等
3.如果两个Integer比较,如果在[-128,127]之间返回缓冲区对象相等,否则返回new Integer()不相等
三,
Math类: 数学相关类, 静态工厂
四,
枚举类型: 确定一种事物|类的所有可能,所有实例
枚举也是类,但是定义特殊,具有特殊的约束
使用enum定义枚举
枚举类型中的字段默认作为当前枚举类型的实例,枚举类型的实例只能通过字段提供,枚举类型的实例通能在外部通过new构建
所有的通过enum定义的枚举类型,默认继承自java.lang.Enum类型
枚举类型中的字段定义默认被public static final修饰
枚举类型中可以定义成员,构造器....
枚举类型中的构造器,默认私有的
五,
Date :
Date类表示特定的时刻,精度为毫秒。
格式转换器SimpleDateFormat
实现字符串与日期对象相互转换的问题
使用步骤:
使用步骤:
1)创建转换器-->指定格式的模板
2)根据指定的格式默认做字符串与日期之间转换问题