import java.util.Locale;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
public class TestI18n ...{
private String title = getTitle("title");
public static void main(String[] args) ...{
TestI18n testI18n = new TestI18n();
System.out.print("title is"+testI18n.title);
}
private String getTitle(String key) ...{
ResourceBundle resourceBundle = ResourceBundle.getBundle(this.getClass().getName(),Locale.SIMPLIFIED_CHINESE);
String value = null;
try...{
value = resourceBundle.getString(key);
}catch(MissingResourceException me)...{
me.printStackTrace();
}
return value;
}
}
當我們初始化TestI18n建構函式的時候,要先去執行變數title的初始化,這時會調用ResourceBundle的國際化,這時bug就出現了。又聽說java6在國際化方面增加了一些新的功能,由此可見,這時升級java6帶來的bug,貼一下本機java的版本
C:/Documents and Settings/new>JAVA -version
java version "1.6.0-rc"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.6.0-rc-b66)
Java HotSpot(TM) Client VM (build 1.6.0-rc-b66, mixed mode, sharing)
上網查了下最新的版本是April 12, 2007的jdk-6u2-ea,不知道此bug有沒有修複掉