“这是我参与8月更文挑战的第17天,活动详情查看: 8月更文挑战”
System类
System类位于java.lang包下,因此我们使用的时候不需要导包。
System 类包含一些有用的类字段和方法。它不能被实例化。
在 System 类提供的设施中,有标准输入、标准输出和错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法。
先来看一下System类的字段。
System类的字段
static PrintStream err “标准”错误输出流。
static InputStream in “标准”输入流。
static PrintStream out “标准”输出流。
System类常用方法
System类中我们常用的方法其实就两个,分别是arraycopy()和currentTimeMillis()。
currentTimeMillis()
public static long currentTimeMillis()
返回以毫秒为单位的当前时间。
我们获取毫秒值有什么用呢?这个可以帮助我们测试程序的效率。
来看一个例子。
/*
测试打印1-9999,所需要的时间。
*/
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 src, int srcPos, Object dest, int destPos, int length)
从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
从 src 引用的源数组到 dest 引用的目标数组,数组组件的一个子序列被复制下来。
被复制的组件的编号等于 length 参数。
源数组中位置在 srcPos 到 srcPos+length-1 之间的组件被分别复制到
目标数组中的 destPos 到 destPos+length-1 位置。
参数:
src - 源数组。
srcPos - 源数组中的起始位置。
dest - 目标数组。
destPos - 目标数据中的起始位置。
length - 要复制的数组元素的数量。
我们同样通过一个例子来了解怎么使用。
/*
将src={1,2,3,4}中的前三个元素复制到dest={2,5,6,7}中
*/
int[] src = {1,2,3,4};
int[] dest = {2,5,6,7};
System.arraycopy(src,0,dest,0,3);
String s = Arrays.toString(dest);
System.out.println(s);
可以看到,dest中的元素被覆盖了,而不是插入到了前面去,这点需要注意。
写在最后
好了,关于System类,我们就说这么多啦,赶快动手试一试吧!
以上内容如有不正之处,欢迎掘友们批评指正。