CodeGym /จาวาบล็อก /สุ่ม /คลาสภาษาจาวา
John Squirrels
ระดับ
San Francisco

คลาสภาษาจาวา

เผยแพร่ในกลุ่ม
คงจะง่ายกว่ามากหากมีปลั๊กไฟแบบเดียวกันทั่วโลก หลักการเขียนตัวเลขและวันที่ อย่างไรก็ตาม กรณีนี้ยังไม่เป็นเช่นนั้น และโปรแกรมเมอร์ต้องคำนึงถึงเรื่องนี้ด้วย โดยเฉพาะอย่างยิ่ง คลาส java.util.Localeอนุญาตให้คุณคำนึงถึงลักษณะเฉพาะของการแสดงตัวอักษร สัญลักษณ์ ตัวเลข และวันที่ในระดับภูมิภาค ในบทความนี้ เราจะดูคลาส Java Localeและยกตัวอย่างการใช้งาน

สถานที่คืออะไร

เมื่อคุณติดตั้งระบบปฏิบัติการ Microsoft Windows คุณจะถูกถามเกี่ยวกับประเทศและภาษาของคุณ ในความเป็นจริง ช่วงเวลา ดังกล่าวเกี่ยวข้องกับการใช้Locale อาจกล่าวได้ว่าคุณสร้างอ็อบเจ็กต์ของ คลาส Localeโดยระบุประเทศและภาษา ซึ่งจะดึงการตั้งค่าอื่นๆ ที่เกี่ยวข้องขึ้นมา เช่น การแสดงวันที่และเวลา Java Virtual Machine ดึงการตั้งค่าภูมิภาคจากระบบปฏิบัติการ อย่างไรก็ตาม ตำแหน่งที่ตั้งเริ่มต้นใน Java สามารถเปลี่ยนได้โดยใช้วิธีการพิเศษ หากจำเป็น

การสร้างอ็อบเจ็กต์ของ Java Locale Class

สำหรับบางประเทศ การตั้งค่าสถานที่จะถูกตั้งค่าโดยใช้ค่าคงที่ เช่น
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

วิธีการเรียนสถานที่เกิดเหตุ วิธีกำหนด Locale ปัจจุบันหรือเปลี่ยนแปลง

มีหลายวิธีใน คลาส Localeใน Java คุณสามารถเรียนรู้ได้จากJavadoc ที่นี่เรามาดูเพียงบางส่วนเท่านั้น คุณสามารถกำหนดการตั้งค่าภาษาปัจจุบันได้โดยใช้เมธอดLocale.getDefault() :
Locale current = Locale.getDefault();
คุณสามารถเปลี่ยนภาษาปัจจุบันสำหรับอินสแตนซ์ปัจจุบันของ JVM โดยใช้เมธอดsetDefault() :
Locale.setDefault(Locale.CANADA);
เมธอดสตริง getCountry()ส่งคืนรหัสประเทศหรือภูมิภาคสำหรับโลแคลนี้ อาจเป็นสตริงว่าง (รหัส ISO 3166 ตัวอักษร 2 ตัวพิมพ์ใหญ่) หรือรหัส 3 หลัก UN M.49 สตริง getDisplayCountry()ส่งคืนชื่อสำหรับประเทศของโลแคลที่เหมาะสมสำหรับการแสดงแก่ผู้ใช้ สตริง getDisplayCountry(Locale inLocale)ส่งคืนชื่อสำหรับประเทศของโลแคลที่เหมาะสมสำหรับการแสดงต่อผู้ใช้ สตริง getDisplayLanguage()ส่งคืนชื่อสำหรับภาษาของโลแคลที่เหมาะสมสำหรับการแสดงแก่ผู้ใช้ สตริง getDisplayLanguage(Locale inLocale)ส่งคืนชื่อสำหรับภาษาของโลแคลที่เหมาะสมสำหรับการแสดงแก่ผู้ใช้ สตริง 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