内容
在API中system类介绍的比较简单,我们给出定义,system中代表程序所在系统,提供了对应的一些系统属性信息和系统操作。
注意,system类不能手动创建对象,因为构造方法被私有化(即被private关键字修饰),组织外界创建对象(即不能用new关键字生成一个对象)。System类中的都是静态方法(static关键字修饰),类名访问即可。在JDK中,有许多这样的类。在 System 类提供的设施中,有标准输入、标准输出和错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法。
常用方法
- 获取系统当前毫秒值(public static long currentTimeMillis())返回值是long
public class SystemObj {
static void testTime(){
long s = System.currentTimeMillis();//获取当前系统时间,毫秒
for (int i = 0; i < 100; i++) {
for (int i1 = 0; i1 < 1000; i1++) {
System.out.println(i);
}
}
long e = System.currentTimeMillis();//结束时间
System.out.println("for 循环好耗时"+(e-s)+"毫秒");
}
public static void main(String[] args) {
SystemObj.testTime();
}
}
- 结束正在运行的Java程序(public staitc void exit(int status))
参数传入一个数字即可。通常传入0记为正常状态,其它为异常状态。
System.exit(0);
- System类方法复制数组(
public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
)【native 是可以调用当前操作系统来实现数组拷贝的】 用来实现将源数组部分元素复制到目标数组的指定位置。各个参数功能如下:
Object src:要复制的原数组;
Int srcPos:数组源的起始索引;
Object dest:复制后的目标数组;
int destPos:目标数组起始索引;
int length,指定复制的长度;
import java.util.Arrays;
public class SystemObj {
/*static void testTime(){
long s = System.currentTimeMillis();//获取当前系统时间,毫秒
for (int i = 0; i < 100; i++) {
for (int i1 = 0; i1 < 1000; i1++) {
System.out.println(i);
}
}
long e = System.currentTimeMillis();//结束时间
System.out.println("for 循环好耗时"+(e-s)+"毫秒");
}*/
public static void main(String[] args) {
//SystemObj.testTime();
int[] src = {1,22,333,4444,5555,666666,7777777};
int[] dest =new int[6];// {10,20,30};
System.arraycopy(src, 0, dest, 0, dest.length);
//把src从0开始拷贝,覆盖数组从0开始到dest的长度。
System.out.println(Arrays.toString(dest));
}
}