“开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 18 天,点击查看活动详情”
引言
包装类是使用面向对象的思想把简单的数据类型封装成类。 包装类全部被final修饰,顺便提一下,java.lang.Math,System,String也被final修饰。
I 包装类
iOS小技能:装箱和拆箱(boxing、unboxing) https://blog.csdn.net/z929118967/article/details/125203502
1.1 特点
包装类把简单的数据类型包装成类。
注:简单数据类型不是类,使用简单数据类型主要为了提高代码的运行效率
1.2 装箱和拆箱
- 把简单数据类型包装成对应的包装类称为boxing(示例:Integer i=1;将1包装成Integer再使用Object引用Integer对象)
- 把包装类型转换成简单数据类型称为unboxing(示例:Integer i=1,int p=i;//将包装类Integer转化成简单数据类型int)
注:Integer的拆箱方法为 int intValue(),其他的包装类以此类推
包装类都重写了toString方法,equals方法,hashCode方法
Integer的API:
String toBinaryString(int i);
将int类型的数据以二进制字符串形式返回int parseInt(String)
将字符串转化成int类型int parseInt(String str,int i)
将字符串转化成对应的进制类型,str为被转换的字符串,i为进制类型(10,8,16)Integer valueof(String str)
将字符串转换成Integer类型。
II 时间类和日期类
时间可用long类型来表示。
long System.currentTimeMillis();
//从计算机的计时元年到当前时间的时间差,以毫秒为单位。
2.1 时间类
Date java.util.Data
API
int getYear()
,返回一个值,此值是从包含或开始于此 Date 对象表示的瞬间的年份减去 1900 的结果int getMonth();
从0开始int getDate();
获取日int Day();
获取星期几,星期天为0int getHours()
获取小时int getMinutes();
获取分钟int getSeconds()
获取秒long getTime
返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数new Date(long l)
将时间差转换成Date类型
2.2 日历类
Calendar Calendar 类是一个抽象类,补充一点抽象类的非抽象方法可调用抽象方法 Calendar 的直接已知子类:GregorianCalendar提供了世界上大多数国家使用的标准日历系统
Calendar 的API
static Calendar getInstance()
使用默认时区和语言环境获得一个日历。int get(int field)
返回给定日历字段的值。 其中的field为Calendar 对应的常量(static int YEAR 指示年的 get 和 set 的字段数字。 )void setTime(Date date)
使用给定的 Date 设置此 Calendar 的时间。 将Calendar 转成Date类型Date getTime()
返回一个表示此 Calendar 时间值(从历元1970至现在的毫秒偏移量)的 Date 对象。 将Date转成Calendar 类型 总结:
2.3 字符串和日期之间的转换
java.text.DateFormat,DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并分析日期或时间。
日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(也就是日期 -> 文本)、分析(文本-> 日期)和标准化。
直接已知子类:SimpleDateFormat,SimpleDateFormat 是一个以与语言环境相关的方式来格式化和分析日期的具体类。
将字符串转换为日期类:
DateFormat df=new SimpleDateFormat(日期模式字符串);
Date df.parse(String source) // 从给定字符串的开始分析文本,以生成一个日期。
2.4 将日期类转换为字符串
DateFormat df=new SimpleDateFormat(日期模式字符串);
String df.format(Date date) // 将一个 Date 格式化为日期/时间字符串。