CodeGym /Java Blog /무작위의 /Java 로케일 클래스
John Squirrels
레벨 41
San Francisco

Java 로케일 클래스

무작위의 그룹에 게시되었습니다
숫자와 날짜를 쓰는 원리, 전 세계에 같은 콘센트가 있다면 훨씬 쉬울 것입니다. 그러나 아직은 그렇지 않으며 프로그래머는 이 점을 고려해야 합니다. 특히 java.util.Locale 클래스를 사용하면 알파벳, 기호, 숫자 및 날짜의 지역 표현 특성을 고려할 수 있습니다. 이 기사에서는 Java Locale 클래스를 살펴보고 그 사용 예를 제공합니다.

로캘이란 무엇입니까?

Microsoft Windows 운영 체제를 설치할 때 국가와 언어를 묻는 메시지가 표시됩니다. 실제로 이러한 순간은 Locale 사용과 관련이 있습니다 . 국가와 언어를 지정하는 Locale 클래스 의 객체를 생성한다고 할 수 있습니다 . 날짜 및 시간 표시와 같은 기타 관련 설정이 표시됩니다. Java Virtual Machine은 운영 체제에서 지역 설정을 가져옵니다. 그러나 필요한 경우 특별한 방법을 사용하여 Java의 기본 로케일을 변경할 수 있습니다.

Java 로케일 클래스의 객체 생성

일부 국가의 경우 로케일 설정은 상수를 사용하여 설정됩니다. 예:
Locale.US
Locale.UK
다른 모든 국가의 경우 생성자를 사용하여 Locale 클래스 의 객체를 만들어야 합니다. 예를 들면 다음과 같습니다.
Locale ukr = new Locale("ukr", "UA");
Locale.ROOT 상수가 있습니다 . 로케일 루트는 언어 및 국가가 빈 문자열("")과 동일한 로케일을 나타냅니다. 이 로케일은 다른 모든 로케일의 기본 로케일입니다. 로케일 독립적인 애플리케이션을 작성하는 데 사용됩니다. 작은 예를 들어보겠습니다.
import java.util.Locale;

public class LocaleExample1 {

   public static void main(String[] args) {
       var uk = Locale.UK;
       System.out.println(uk);
       Locale ua = new Locale("ukr", "UA");
       System.out.println(ua);
          }

   }
출력은 다음과 같습니다.
en_GB ukr_UA

로케일 클래스 메소드. 현재 로케일을 확인하거나 변경하는 방법

Java에는 Locale 클래스 의 메소드가 많이 있습니다 . Javadoc 에서 배울 수 있습니다 . 여기서는 그중 몇 가지만 살펴보겠습니다. Locale.getDefault() 메소드를 사용하여 현재 로케일 설정을 확인할 수 있습니다 .
Locale current = Locale.getDefault();
setDefault() 메소드를 사용하여 JVM의 현재 인스턴스에 대한 현재 로케일을 변경할 수 있습니다 .
Locale.setDefault(Locale.CANADA);
메소드 문자열 getCountry()는 이 로케일에 대한 국가 또는 지역 코드를 반환합니다. 빈 문자열(대문자 ISO 3166 2자 코드) 또는 UN M.49 3자리 코드일 수 있습니다. String getDisplayCountry()는 사용자에게 표시하기에 적합한 로케일 국가의 이름을 반환합니다. String getDisplayCountry(Locale inLocale)는 사용자에게 표시하기에 적합한 로케일 국가의 이름을 반환합니다. String getDisplayLanguage()는 사용자에게 표시하기에 적합한 로케일 언어의 이름을 반환합니다. String getDisplayLanguage(Locale inLocale)는 사용자에게 표시하기에 적합한 로케일 언어의 이름을 반환합니다. String getLanguage()는 Locale 의 언어 코드를 반환합니다 .

로케일 클래스 예

import java.util.Locale;
//Locale Example
public class LocaleExample1 {

   public static void main(String[] args) {
       var uk = Locale.UK;
       System.out.println(uk);
       Locale ua = new Locale("ukr", "UA");
       System.out.println(ua);
       Locale.setDefault(Locale.CANADA);
       Locale current = Locale.getDefault();

       getLocaleInfo(current);
       getLocaleInfo(ua);
       getLocaleInfo(uk);
   }

   private static void getLocaleInfo(Locale current) {
       System.out.println("Country code: " + current.getCountry());
       System.out.println("Name of the Country: " + current.getDisplayCountry());
       System.out.println("Language Code: " + current.getLanguage());
       System.out.println("Language Name: "
               + current.getDisplayLanguage());
       System.out.println();
   }
}
출력은 다음과 같습니다.
en_GB ukr_UA 지역 코드: CA 국가 이름: 캐나다 언어 코드: en 언어 이름: 영어 지역 코드: UA 국가 이름: 우크라이나 언어 코드: ukr 언어 이름: 우크라이나어
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION