黑马程序员技术交流社区

标题: 这两句话究竟有什么不同 [打印本页]

作者: feitianmao627    时间: 2015-5-7 21:25
标题: 这两句话究竟有什么不同
public class Demo {
        public static void main(String[] args) {
                //构造一个properties集合
                Properties pro = new Properties();
                /*//添加集合元素
                pro.put("t001", "张三");
                pro.put("t002", "李四");
                pro.put("t003", "王五");*/
                pro.setProperty("t001", "张三");
                pro.setProperty("t002", "李四");
                pro.setProperty("t003", "王五");
               
                /*//获取集合元素
                Set<Object> stu = pro.keySet();
                //遍历集合元素
                for(Object obj:stu){

                        System.out.println(obj + "---" + pro.get(obj));//为什么一定要加分隔符才能编辑过去
                }*/
                //获取键集
                Set<String> stu1 = pro.stringPropertyNames();
                //遍历
                for(String s :stu1){
                        System.out.println(s+pro.getProperty(s));//为毛不用加分隔符
                }
        }
}



作者: 大兵在海边    时间: 2015-5-7 22:20
上面的Set<Object> stu = pro.keySet();你的定义了泛型是Object,得到的是object类型的元素,而get(Object key)方法取出来的值是也是Object类型;Object不能直接用+号来操作
Set<String> stu1 = pro.stringPropertyNames();你定义的是字符串泛型,取出来就是字符串就不用转型
作者: feitianmao627    时间: 2015-5-7 23:28
大兵在海边 发表于 2015-5-7 22:20
上面的Set stu = pro.keySet();你的定义了泛型是Object,得到的是object类型的元素,而get(Object key)方法 ...

谢谢 了解了
作者: mah707    时间: 2015-5-8 00:16
你二次遍历的类型是String,+可以用于连接符号,也可以讲一个类型这样转换为Stirng类型,obj+“”;
第一个你不用分隔符也可以,其实就是+连接符的问题,你看看这个就可以了,
作者: 殃金咒    时间: 2015-5-8 01:38
ls我和你的签名一样
作者: 只吃饭不洗碗    时间: 2015-5-8 09:10
第一种需要做个强转吧




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2