本帖最后由 huoxy 于 2014-11-4 21:25 编辑
- import java.util.*;
- class SystemDemo2
- {
- public static void main(String[] args)
- {
- Properties prop=System.getProperties();
-
- //因为Properties是Hashtable的子类,也就是Map类的成员
- //可以通过Map的方式取出该集合中的元素。
- //该集合中存储的都是字符串信息,没有泛型定义。
- //1.高级for循环
- System.out.println("--------------------高级for循环----------------------");
- for (Object obj : prop.keySet() )
- {
- String valueFor=(String)prop.get(obj);
- System.out.println(obj+"---->"+valueFor);
- }
- //2.keySet()
- System.out.println("--------------------keySet()方法----------------------");
-
- Set<Object> keySet=prop.keySet();
- for(Iterator<Object> it=keySet.iterator();it.hasNext();)
- {
- String key1=(String)it.next();
- String value1=(String)prop.get(key1);
- System.out.println(key1+"---->"+value1);
- }
- //3.entrySet()
- System.out.println("--------------------entrySet()方法----------------------");
-
- Set<Map.Entry<Object,Object>> entrySet=prop.entrySet();
- for(Iterator<Map.Entry<Object,Object>> it=entrySet.iterator();it.hasNext();)
- {
- Map.Entry<Object,Object> me=it.next();
-
- String key2=(String)me.getKey();
- String value2=(String)me.getValue();
- System.out.println(key2+"---->"+value2);
- }
- }
- }
复制代码 视频中毕老师说:Properties中没有定义泛型。所以在通过keySet()和entrySet()方式取得相应的集合结果时要定义成Set<Object>和Set<Map.Entry<Object,Object>>类型,最后在取得具体键、值时再通过强制类型转换为String即可,否则会报“不兼容的类型”错误。
各位还有更好的方法吗?求教!
|