首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Locale.setDefault对Locale.getDefault.getCountry的影响

Locale.setDefault对Locale.getDefault.getCountry的影响
EN

Stack Overflow用户
提问于 2021-02-10 22:21:02
回答 2查看 669关注 0票数 0

以下代码的输出

代码语言:javascript
复制
Locale.setDefault(new Locale("fr"));
System.out.println("Start");
System.out.println(Locale.getDefault().getCountry());
System.out.println("End");

代码语言:javascript
复制
Start

End

而此代码的输出

代码语言:javascript
复制
//Locale.setDefault(new Locale("fr"));
System.out.println("Start");
System.out.println(Locale.getDefault().getCountry());
System.out.println("End");

代码语言:javascript
复制
Start
US
End

我很好奇为什么第一个代码块的输出将默认的语言设置更改为法语,结果会产生一个空字符串作为Locale.getDefault().getCountry()的输出。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-10 23:28:46

根据文件:

A java.util.Locale是一个轻量级对象,只包含几个重要成员:

  • A语言代码
  • 可选国家或地区代码
  • 可选变体代码

使用构造函数创建类Locale的实例时,可以使用法语创建区域设置,而不指定国家或变体。

接下来,将所创建的区域设置传递给setDefault方法。因此,从那时起,您就有了使用法语的默认区域设置,并且没有任何国家或变体。

Locale.setDefault不允许您只设置默认语言。您总是设置整个Locale对象。

要解决问题,您可以首先从默认地区获取国家代码,然后使用法语和默认国家创建地区:

代码语言:javascript
复制
String defaultCountryCode = Locale.getDefault().getCountry();
Locale.setDefault(new Locale("fr", defaultCountryCode));
System.out.println("Start");
System.out.println(Locale.getDefault().getCountry());
System.out.println("End");

你会得到

代码语言:javascript
复制
Start
US
End
票数 1
EN

Stack Overflow用户

发布于 2021-02-10 22:29:27

使用国家代码,例如new Locale("fr", "FR")。这一点很重要,因为同一种语言可以在多个国家使用,例如法语在许多国家使用。

代码语言:javascript
复制
import java.util.Locale;

class Main {
    public static void main(String[] args) {
        Locale.setDefault(new Locale("fr", "FR"));
        System.out.println("Start");
        System.out.println(Locale.getDefault().getCountry());
        System.out.println(Locale.getDefault().getDisplayCountry());
        System.out.println("End");
    }
}

输出:

代码语言:javascript
复制
Start
FR
France
End

查看本教程,了解更多有关它的信息。

第二个代码段输出国家名称,因为它从默认系统设置中获取此信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66145970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档