public class SystemUtil {
public static void getProperty(String mString) throws IOException {
//将properties文件加载到输入字节流中 
InputStream is = new FileInputStream("conf/application.properties"); 
        //创建一个Properties容器 
        Properties prop = new Properties();
        //从流中加载properties文件信息 
        prop.load(is); 
        InputStream is1 = new FileInputStream("E:/MVNE/conf/aa.properties"); 
        Properties prop1 = new Properties();
        prop1.load(is1);  
        
Iterator<Object> iter = prop.keySet().iterator();
Iterator<Object> iter1 = prop1.keySet().iterator();
        while (iter.hasNext()&&iter1.hasNext()) {
            String mKey = (String) iter.next();
            String m1Key = (String) iter1.next();
            //若两个map中相同key对应的value不相等
            if(mKey == m1Key) {
                System.out.println(prop1.get(m1Key));
           }
}

解决方案 »

  1.   

    debug下看看,可能是哪步没取到值
      

  2.   

    知道了原因,String mKey = (String) iter.next();这一步直接放到了if括号里,但是为什么不会循环比较呢?
    应该怎样才能多次赋值比较呢?
      

  3.   

    就是key-value形式
      

  4.   

    现在新的问题就是,为什么String mKey = (String) iter.next();   String m1Key = (String) iter1.next();只是一次赋值比较,不是循环赋值在 if(mKey == m1Key) 进行相等比较?????debug后显示他们只是取第一个值进行 if(mKey == m1Key) 进行相等比较,有没有别的将所有可能性都比一遍,就是将所有mKey、m1Key的值都进行比较?????
                
      

  5.   

    一般set并不能保证顺序,可以循环一个set,然后检查另外一个set.contains