您的位置:首页 > 编程语言 > Java开发

java中的常用类(包装类、Date类、Calendar类和Math类)

2017-09-14 20:01 459 查看

包装类



包装类主要提供了两大类方法:

1. 将本类型和其他基本类型进行转换的方法

其实强制转换也可以做到某些部分,但是比如说把integer强制转换为String就会报错

包装类和强制转换并没有什么关系,它的目的是把基本数据类型变成对象。因为java是强类型语言,所以当函数接收的参数为对象时,传入的参数必须为对象而不能是基本数据类型,包装类解决了这一问题。

Integer包装类的构造方法:
Integer(int value)/Integer(String s)


例:

int i = 2;
Integer m = new Integer(5);
Integer n = new Integer("5");


Integer包装类的常用方法:



JDK1.5 引入了自动装箱和拆箱的机制

装箱:把基本类型转换成包装类,使其具有对象的性质

int i = 10;
Integer x = i;//自动装箱(当然也可以直接Integer x = 10)
Integer x = new Integer(i);//手动装箱


拆箱:和装箱相反,把包装类对象转换成基本类型的值

Integer j = new Integer(10);
int m = j;//自动拆箱
int n = j.intValue();//手动拆箱


2. java中基本类型和字符串之间的转换

其中,基本类型转换为字符串有三种方法:

① 使用包装类的 toString() 方法

②使用String类的 valueOf() 方法

③ 用一个空字符串加上基本类型,得到的就是基本类型数据对应的字符串

//将基本类型转换为字符串
int c = 10;
String str1 = Integer.toString(c);
String str2 = String.valueOf(c);
String str3 = c + "";//注意空字符串就是空的 而不是空格


将字符串转换成基本类型有两种方法:

1. 调用包装类的 parseXxx 静态方法

2. 调用包装类的 valueOf() 方法转换为基本类型的包装类,会自动拆箱

//将字符串转换为基本类型
String str = "8";
int a = Integer.valueOf(str);
int b = Integer.parseInt(str);


使用Date类和SimpleDateFormat类表示时间

使用 Date 类的默认无参构造方法创建出的对象就代表当前时间:

Date now = new Date();//使用默认的构造方法创建Date对象
System.out.println(now);//输出
//结果为 Wed Sept 13 15:10:22 CST 2017


CST代表China Standard Time(中国标准时间 即北京时间)

要想控制输出格式则需SimpleDateFormat类

//得到当前时间
Date d = new Date();
//规定输出格式(规定不同输出则不同)
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
//调用format方法,对Date的对象进行操作
String now = sdf.format(d);


还可使用parse()方法将文本转换为日期

//创建日期格式的字符串
String day = "2017年9月13日 15:23:56";
//指定字符串日期格式
SimpleDateFormat df = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
//调用parse()方法,将字符串转换为日期
Date day = df.parse(day);
//若输出 则为Wed Sept 13 15:23:56 CST 2017


注:1、 调用 SimpleDateFormat 对象的 parse() 方法时可能会出现转换异常,即 ParseException ,因此需要进行异常处理

2、 使用 Date 类时需要导入 java.util 包,使用 SimpleDateFormat 时需要导入 java.text

Calendar类

Date类中的很多方法已经过时,因此我们通常使用 Calendar 类进行时间和日期的处理

Calendar类是抽象类,且其构造方法为protected的,因此不能用构造方法来创建对象,API中提供了getInstance方法来创建对象

Calendar time = Calendar.getInstance();
int year = time.get(Calendar.YEAR);
int month = time.get(Calendar.MONTH)+1;//注意要+1,0表示1月份
int day = time.get(Calendar.DAY_OF_MONTH);
int hour = time.get(Calendar.HOUR_OF_DAY);
int minute = time.get(Calendar.MINUTE);
int second = time.get(Calendar.SECOND);
System.out.println("当前时间:" + year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second);


Calendar.YEAR 等为 Calendar 类中定义的静态常量,因此要注意大写

Calendar 类提供了 getTime() 方法,用来获取 Date 对象,完成 Calend
4000
ar 和 Date 的转换,还可通过 getTimeInMillis() 方法,获取此 Calendar 的时间值,以毫秒为单位。

Date date = time.getTime();//转换为Date对象
Long millisSum = time.getTimeInMillis();//获取当前毫秒数


= =注意Calendar的拼写

Math类

Math 类位于 java.lang 包中,包含用于执行基本数学运算的方法, Math 类的所有方法都是静态方法,所以使用该类中的方法时,可以直接使用类名.方法名,如: Math.round();

Math类常用方法:



// 产生10以内的随机数
int x = (int) (Math.random()*10);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐