A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 罗会涛 中级黑马   /  2012-11-19 16:31  /  5318 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 罗会涛 于 2012-11-19 19:01 编辑

properties的keyset与stringpropertynames方法是一样的吗
我要是写成 Set<String> s = pro.keySet();与Set<String> s = pro. stringPropertyNames ;
是一样的效果吗,如果是的话怎么搞一个一样的方法啊.

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 赞一个!

查看全部评分

3 个回复

倒序浏览
keyset与stringpropertynames都是取出映射中的键,但是可以看一下API的介绍properties中的stringpropertynames
键值对应的是字符串,其键或值不是 String 类型的属性被忽略,因为properties是用于操作文件的流对象,
Map中的keyset没有限制条件,所以还是有区别的。我做了两个不同的方法如下:

1、Map集合中的添加与取出方法
        Map<Integer,String> map = new HashMap<Integer,String>();
                method_2(map);
        }
        public static void method_2(Map<Integer, String> map) {
                // TODO Auto-generated method stub
                map.put(8, "wangwu");
                map.put(7, "zhaoliu");
                map.put(2, "sunyang");
                map.put(5, "lihua");
        Set<Integer> keyset = map.keySet();
                Iterator<Integer> it = keyset.iterator();
                while(it.hasNext()){
                Integer key = it.next();
                String value = map.get(key);
                System.out.println(key+":"+value);
        }
}
2、propertise中的添加与取出
                Properties prop = new Properties();
                prop.setProperty("lisi", "12");
                prop.setProperty("zhaoliu", "21");
                prop.setProperty("sunwu", "18");
               
                Set<String> set = prop.stringPropertyNames();
                for (String key : set) {
                        String value = prop.getProperty(key);
                        System.out.println(key+":"+value);
                }
        }
仅供参考

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 赞一个!

查看全部评分

回复 使用道具 举报
package com.tutorialspoint;

import java.util.*;

public class PropertiesDemo {

   public static void main(String[] args) {
      Properties prop = new Properties();

      // add some properties
      prop.put("Height", "200");
      prop.put("Width", "15");

      // save the Property names in the set
      Set<String> set = prop.stringPropertyNames();

      // print the set
      System.out.println("" + set);
   }
}
你运行一下,或许就是你想要的

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
我弄明白了,原来properties的keyset不能用Set<String>,只能用object的泛型.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马