System类对大家来说并不陌生,因为之前在打印结果时,使用的都是“System.out.println()”语句,这句代码中就使用了System类。System类定义了一些与系统相关的属性和方法,它所提供的属性和方法都是静态的,因此,想要引用这些属性和方法,直接使用System类调用即可。下面java培训机构列举了System类的常用方法。
上面列出了System类的常用方法,接下来通过一些案例对表中的方法进行讲解。
1、getProperties()方法
Syste类的getProperties()方法用于获取当前系统的全部属性,该方法会返回一个Properties对象,其中封装了系统的所有属性,这些属性是以键值对的形式存在,接下来过一个案例来显示系统所有的属性。
import java.util.*;
public class system01{
public static void main(String[]args){
//获得当前系统属性
Properties properties=System.getProperties();
//获得所有系统属性的key,返回Enumeration对象
Enumeration propertyNames=properties.propertyNames();
while(propertyNames.hasMoreElements()){
//获取当前属性对应的键key
String key=(String)propertyNames.nextElement();
//获得当前key对应的值value
String value=System.getProperty(key);
System.out.println(key+"--->"+value);
}
}
}
上面案例实现了获取当前系统属性的功能。首先通过Syste的get Properties()方法获取封装了系统属性的Properties集合,然后对Properties集合进行迭代,将所有系统属性的键以及对应的值打印出来。从图中可以看出,这些系统属性包括虚拟机版本号、用户国家、操作系统的架构等。
2.currentTimeMillis()
currentTimeMillis()方法返回一个1ong类型的值,该值表示当前时间与1970年1月1日0点0分0秒之间的时间差,单位是毫秒,习惯性地被称作时间戳。接下来通过个案例来计算程序在进行求和操作时所消耗的时间。
public class system02{
public static void main(String[]args){
long startTime=System.currentTimeMillis();//循环开始时的当前时间
int sum=0;
for(int i=0;i<=100000000;i++){
sum+=i;
}
long endTime=System.currentTimeMillis();//循环结束后的时间
System.out.println("程序运行的时间为:"+(endTime-startTime)+"毫秒");
}
}
上面案例中,演示了数字的求和操作,程序在求和开始和结束时,分别调用了current TimeMillis()方法获得了两个时间戳,两个时间戳之间的差值便是求和操作耗费的时间。
3.arraycopy(Object src,int srcPos,Object dest,int destPos,int length)
arraycopy()方法用于将一个数组中的元素快速拷贝到另一个数组。其中的参数具体作用如下:
src:表示源数组。
dest:表示目标数组。
srcPos:表示源数组中拷贝元素的起始位置。
desPos:表示拷贝到目标数组的起始位置。
length:表示拷贝元素的个数。
需要注意的是,在进行数组复制时,目标数组必须有足够的空间来存放拷贝的元素,否则会发生角标越界异常。接下来通过一个案例来演示数组元素的拷贝。
public class system03{
public static void main(String[]args){
int[]fromArray={101,102,103,104,105,106};//源数组
int[]toArray={201,202,203,204,205,206,207};//目标数组
System.arraycopy(fromArray,2,toArray,3,4);//拷贝数组元素
//打印目标数组中的元素
for(int i=0;i<toArray.length;i++){
System.out.println(i+":"+toArray<i>);
}
}
}
上面案例中,创建了两个数组fromArray和toArray,分别代表源数组和目标数组,当调用arraycopy()方法进行元素拷贝时,由于指定了从源数组中索引为2的元素开始拷贝,并且拷贝4个元素存放在目标数组中索引为3的位置,因此,在打印目标数组的元素时,程序首先打印的是数组toArray的前3个元素201、202、203,然后打印的是从fromArray中拷贝的4个元素。