本帖最后由 wo100 于 2009-11-26 16:11:02 编辑

解决方案 »

  1.   


    ResourceBundle lan =null;
    if(){
       lan=..;
    }else{
       lan=..;
    }
       infotext = lan.getString("info");
      

  2.   

    lan你声明在if,else中
    不一定会有
      

  3.   

    第一个编译器不报错?lan是在if语句中定义的,出了if语句你还怎么拿的到它的东西,你编译都通不过
      

  4.   

    第一个肯定报错,你定义的是局部对象变量,在else中是无效的。
      

  5.   

    编译通过了?用你自己写的jdk编译的?
      

  6.   


    //没有lan
    if (this.key == 1){
                ResourceBundle lan = ResourceBundle.getBundle("Message",new Locale("zh","CN"));
            } else {
                ResourceBundle lan = ResourceBundle.getBundle("Message",new Locale("en","US"));
            }
    // 找不到lan
            infotext = lan.getString("info");   //这样取不值
      //lan 定义成了局部变量。出了else就无效了。外面的调用IDE会出错。把lan抽出来,和infotext放在同一层就可以调用
    ResourceBundle lan=null;
    if (this.key == 1){
    lan = ResourceBundle.getBundle("Message",new Locale("zh","CN"));
    } else {
    lan = ResourceBundle.getBundle("Message",new Locale("en","US"));
    }
    infotext = lan.getString("info"); 
      

  7.   

    hah这 代码 根本没有编译 过嘛