以下代码将有助于说明我的问题:
import java.util.Locale;
import java.text.*;
public class LocaleTest {
public static void main(String[] args) {
System.out.println(Locale.getDefault());
System.out.println("java-version-" +System.getProperty("java.version"));
System.setProperty("sun.locale.formatasdefault","true");
System.out.println("prop:" +System.getProperty("sun.locale.formatasdefault"));
System.out.println("getLocale-" +Locale.getDefault());
}
}
我们知道,Java 7 中存在错误,在 Locale.getDefault() 中。但是按照 Oracle 的建议,我已将系统属性“sun.locale.formatasdefault”设置为 true。尽管我现在正在获取我的 m/c 语言环境,但它始终显示为 en_US,即使我的 m/c 语言环境设置为 fr_BE。
这是上面代码的输出,它是在 Java 1.7.0_09 上编译和运行的:
zh_CN java-版本-1.7.0_09 道具:真 getLocale-en_US
关于可能导致的任何想法?提前谢谢了。