System类
java.lang.System类中提供了大量的静态方法,可以获取与系统相关的信息或统计操作,在System类的API文档中,常用的方法有:
- public static long currentTimeMillis():返回以毫秒为单位的当前时间。
- public static void arraycopy(Object stc,int srcPos,Object dest,int destPos,int length):将数组中指定的数据拷贝到另一个数组中。
currentTimeMillis方法
currentTimeMillis方法就是获取当前系统时间与1970年01月01日00:00点之间的毫秒差值。
public class Demo01System{
public static void main(String[] args){
//获取当前时间毫秒值
System.out.println(System.currentTimeMillis());
}
}
验证for循环打印数字1-9999所需要的时间(毫秒):
public class Demo02System{
public static void main(String[] args){
long start =System.currentTimeMillis();
for(int i=0;i<10000;i++){
System.out.println(i);
}
long end =System.currentTimeMillis();
System.out.println("共耗时毫秒:"+(end-start));
}
}
arraycopy方法
public static void arraycopy(Object stc,int srcPos,Object dest,int destPos,int length)
:将数组中指定的数据拷贝到另一个数组中。
数组的拷贝动作是系统级的,性能很高。System.arraycopy方法具有5个参数,含义分别是:
参数序号 参数名称 参数类型 参数含义
1 src Object 原数组
2 srcPos int 原数组索引起始位置
3 dest Object 目标数组
4 destPos int 目标数组索引起始位置
5 length int 复制元素个数
例如:
将Src数组中前3个元素,复制到dest数组的前3个位置上
复制元素前:src数组元素[1,2,3,4,5],dest数组元素[6,7,8,9,10]
复制元素后:src数组元素[1,2,3,4,5],dest数组元素[1,2,3,9,10]
public class Demo1SystemArrayCopy{
public static void main(String[] args){
int[] src=new int[]{1,2,3,4,5};
int[] dest=new int[]{6,7,8,9,10};
System.out.println("复制前:"+Arrays.toString(dest));
System.arraycopy(src,0,dest,0,3);
System.out.println("复制后:"+Arrays.toString(dest));
//代码运行后:两个数组中的元素发生了变化
//src数组元素[1,2,3,4,5]
//dest数组元素[1,2,3,9,10]
}
}