DAY01 System类的学习和总结

一、

      System类是系统类,比如一些系统的信息可以使用此类获取。比如获取用户机器的操作系统版本、语言等很多有用信息,而且我们最常用的System.out  System.in System.err都是在此类功能。

二、

    在视频里,老师主要介绍了下获取系统信息的方法,getProperties() ,它返回的是Properties类型。 Properties我查看API文档看到它是继承自

 
  
  
  Hashtable<
  
  Object,
  
  Object>,此类主要是类似于MAP<KEY,VAL>.我尝试使用两种不同的方式对其进行遍历。
 
 
 
 
  
  直接使用foreach 遍历。
 
 
 
 
  
        Properties prop= System.getProperties();

  
  	 String v="哈哈";

  
  	  String  v1=System.getProperty(v);



  
  	  for(Object a:prop.keySet()){

  
  	  String value=(String)(prop.get(a));

  
  	  System.out.println(a+"::"+value);

  
  	  }

 
 
 
 
  
  这里是通过Property的特性
  
  keySet返回Set对象,类似Map(K,V)结构然后通过Object直接来遍历。
 
 
 
 
  
  

 
 
 
 
  
  第二种方法使用Iterator来遍历。
 
 
 
 
  
   Iterator it=prop.keySet().iterator();
      while(it.hasNext()){
         Object c=it.next();
       String value=(String)(prop.get(c));
	  System.out.println(c+"::"+value);
	  }

 
 
 
 
  
  这里感觉要比foreach麻烦一些,迭代器的更好理解下。
 
 
 
 
  
  以下是获取的properties的获取信息截图。
 
 
 
 
  
  

 
 
 
 
  
  二、
 
 
 
 
  
   如何自己设置properties文件,这里使用了老师所讲的setProperty(String key, String value),这个方法是直接设置属性的,使用方法如下:
 
 
 
 
  
  prop.setProperty("hahaha",System.getProperty("os.name")); 

 
 
 
 
  
  使用设置属性方法,增加属性hahaha,他的值设置的是当前操作系统名称:
 
 
 
 
  
  可以看到我当前的系统名称是Windows 7;

 
 
 
 
  
  三、
 
 
 
 
  
  老师介绍了如何动态的在虚拟机运行过程中,添加属性值的方法。就是在运行过程中使用如下指令:
 
 
 
 
  
  java -Dhahaha=windowsxp SystemClass 这里做了测试。hahaha在代码中已经设置了初始值:
 
 
 
 
  
  	   prop.setProperty("hahaha",System.getProperty("os.name"));

 
 
 
 
  
  在编译过程中进行添加,运行后发现并不能起到修改的作用:
 
 
 
 

 
 
 
 
  
  

 
 
 
 

 
 
 
 
  
  但是我们做系统中没有的属性,进行添加是可以的:
 
 
 
 
  
  java -Dhahahaha=windowsxp SystemClass 

 
 
 
 
  
  

 
 
 
 

 
 
 
 
  
  具体什么原因还在查找资料,需要搞清楚-D 动态添加方法是不是只能添加,不能修改。
 
 
 
 

 
 
 
 
  
  四、学习中存在的问题
 
 
 
 
  
  对于System类的熟悉程度远远不够,需加强联系早日熟悉。
 
 
 
 
  
  使用Notepad++ 出现编译错误,查找资料发现,软件在源码头行嵌入了特殊语句导致变异失败,改用普通文本编译器后正常。
 
 
 
 

 
 
 
 

 
 
 
 

 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值