一、Arrays类
Arrays类是数组的工具类,用来操作数组(比如排序和搜索)的各种方法。
1、构造方法
通过查看帮助文档,我们发现Arrays类中并没有构造方法,但是我们说一个类中如果没有构造方法,系统将自动给他提供一个无参的构造方法,那么为什么帮助文档中查询不到构造方法呢?
通过查看Arrays的源码,我们找到了如下内容:
private Arrays(){}
原来Arrays类中并不是没有构造方法,而是被private修饰,我们无法使用,因此帮助文档中也就没有该类的构造方法了。
由于Arrays类中没有构造方法,所以我们在使用Arrays类中的方法时,直接通过Arrays.方法名()调用。
补充:
工具类的设计思想:
(1)构造方法用private修饰;
(2)成员都用static修饰,可以直接使用类名调用。
常见的工具类:Math、Collections
2、成员方法
(1)sort()
返回值类型:void
参数列表:任意类型的数组
作用:对传入的数组按升序排序
import java.util.Arrays;
public class ArraysDemo {
public static void main(String[] args) {
int[] arr = {1,5,3,6,2};
Arrays.sort(arr);
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
(2)toString()
返回值类型:String
参数列表:任意类型的数组
作用:返回指定类型数组的字符串表达形式
import java.util.Arrays;
public class ArraysDemo {
public static void main(String[] args) {
int[] arr = {1,5,3,6,2};
String s = Arrays.toString(arr);
System.out.println(s);//[1, 5, 3, 6, 2]
}
}
(3)equals()
返回值类型:boolean
参数列表:两个相同类型的数组
作用:比较两个数组的元素是否相等
import java.util.Arrays;
public class ArraysDemo {
public static void main(String[] args) {
int[] arr1 = {1,5,3,6,2};
int[] arr2 = {1,5,3,6,2};
int[] arr3 = {8,5,9,6,2};
boolean b1 = Arrays.equals(arr1, arr2);
boolean b2 = Arrays.equals(arr1, arr3);
System.out.println(b1);//true
System.out.println(b2);//false
}
}
二、Random类
Random类用来生成随机数。
1、构造方法
public Random(){}
2、成员方法nextInt()
返回值类型:int
参数列表:int
作用:产生[0,int)范围中的一个随机数
Random r = new Random();
int i = r.nextInt();
System.out.println(i);
三、Date类
1、构造方法
(1)public Date()
分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。
Date date = new Date();
(2)public Date(long date)
分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。
Date date = new Date(1000);
System.out.println(date);//Thu Jan 01 08:00:01 CST 1970
2、成员方法
(1)getTime()
返回值类型:long
参数列表:无参
作用:获取从1970 年 1 月 1 日 00:00:00到日期对象的毫秒值
public class DateDemo {
public static void main(String[] args) {
Date date = new Date();
long time = date.getTime();
System.out.println(time);
}
}
(2)setTime()
返回值类型:void
参数列表:long time
作用:设置时间,1970 年 1 月 1 日 00:00:00加上参数中的毫秒值
public static void main(String[] args) {
Date date = new Date();
long time = 1000*60*60L;
date.setTime(time);
System.out.println(date);
}
}
3、SimpleDateFormat类
SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。
(1)构造方法
- 无参构造:
用默认的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。
public SimpleDateFormat()
- 有参构造:
用给定的模式(pattern)和默认语言环境的日期格式符号构造 SimpleDateFormat。
public SimpleDateFormat(String pattern)
pattern的格式:
字母含义
(2)格式化(Date --> String)
public class DateDemo {
public static void main(String[] args) {
Date date = new Date();
String s = "yyyy-MM-dd HH:mm:ss";
SimpleDateFormat sdf = new SimpleDateFormat(s);
String format = sdf.format(date);
System.out.println(format);
}
}
(3)解析(String --> Date)
public class DateDemo {
public static void main(String[] args) throws ParseException {
String time = "2018-02-27 22:00:00";
String s = "yyyy-MM-dd HH:mm:ss";
SimpleDateFormat sdf = new SimpleDateFormat(s);
Date date = sdf.parse(time);
System.out.println(date);
}
}
网友评论