Java小技能:包装类

55 阅读3分钟

“开启掘金成长之旅!这是我参与「掘金日新计划 · 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();获取星期几,星期天为0
  • int 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 格式化为日期/时间字符串。