⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 locale.java

📁 this gcc-g++-3.3.1.tar.gz is a source file of gcc, you can learn more about gcc through this codes f
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
  public String getLanguage()  {    return language;  }  /**   * Returns the country code of this locale.   *   * @return country code portion of this locale, or an empty String   */  public String getCountry()  {    return country;  }  /**   * Returns the variant code of this locale.   *   * @return the variant code portion of this locale, or an empty String   */  public String getVariant()  {    return variant;  }  /**   * Gets the string representation of the current locale. This consists of   * the language, the country, and the variant, separated by an underscore.   * The variant is listed only if there is a language or country. Examples:   * "en", "de_DE", "_GB", "en_US_WIN", "de__POSIX", "fr__MAC".   *   * @return the string representation of this Locale   * @see #getDisplayName()   */  public final String toString()  {    if (language.length() == 0 && country.length() == 0)      return "";    else if (country.length() == 0 && variant.length() == 0)      return language;    StringBuffer result = new StringBuffer(language);    result.append('_').append(country);    if (variant.length() != 0)      result.append('_').append(variant);    return result.toString();  }  /**   * Returns the three-letter ISO language abbrevation of this locale.   *   * @throws MissingResourceException if the three-letter code is not known   */  public String getISO3Language()  {    if ("".equals(language))      return "";    int index      = ("aa,ab,af,am,ar,as,ay,az,ba,be,bg,bh,bi,bn,bo,br,ca,co,cs,cy,da,"         + "de,dz,el,en,eo,es,et,eu,fa,fi,fj,fo,fr,fy,ga,gd,gl,gn,gu,ha,iw,"         + "hi,hr,hu,hy,ia,in,ie,ik,in,is,it,iu,iw,ja,ji,jw,ka,kk,kl,km,kn,"         + "ko,ks,ku,ky,la,ln,lo,lt,lv,mg,mi,mk,ml,mn,mo,mr,ms,mt,my,na,ne,"         + "nl,no,oc,om,or,pa,pl,ps,pt,qu,rm,rn,ro,ru,rw,sa,sd,sg,sh,si,sk,"         + "sl,sm,sn,so,sq,sr,ss,st,su,sv,sw,ta,te,tg,th,ti,tk,tl,tn,to,tr,"         + "ts,tt,tw,ug,uk,ur,uz,vi,vo,wo,xh,ji,yo,za,zh,zu")      .indexOf(language);    if (index % 3 != 0 || language.length() != 2)      throw new MissingResourceException        ("Can't find ISO3 language for " + language,         "java.util.Locale", language);    // Don't read this aloud. These are the three letter language codes.    return      ("aarabkaframharaasmaymazebakbelbulbihbisbenbodbrecatcoscescymdandeu"       + "dzoellengepospaesteusfasfinfijfaofrafrygaigdhglggrngujhauhebhinhrv"       + "hunhyeinaindileipkindislitaikuhebjpnyidjawkatkazkalkhmkankorkaskur"       + "kirlatlinlaolitlavmlgmrimkdmalmonmolmarmsamltmyanaunepnldnorociorm"       + "oripanpolpusporquerohrunronruskinsansndsagsrpsinslkslvsmosnasomsqi"       + "srpsswsotsunsweswatamteltgkthatirtuktgltsntonturtsotattwiuigukrurd"       + "uzbvievolwolxhoyidyorzhazhozul")      .substring(index, index + 3);  }  /**   * Returns the three-letter ISO country abbrevation of the locale.   *   * @throws MissingResourceException if the three-letter code is not known   */  public String getISO3Country()  {    if ("".equals(country))      return "";    int index      = ("AD,AE,AF,AG,AI,AL,AM,AN,AO,AQ,AR,AS,AT,AU,AW,AZ,BA,BB,BD,BE,BF,"         + "BG,BH,BI,BJ,BM,BN,BO,BR,BS,BT,BV,BW,BY,BZ,CA,CC,CF,CG,CH,CI,CK,"         + "CL,CM,CN,CO,CR,CU,CV,CX,CY,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,EH,ER,"         + "ES,ET,FI,FJ,FK,FM,FO,FR,FX,GA,GB,GD,GE,GF,GH,GI,GL,GM,GN,GP,GQ,"         + "GR,GS,GT,GU,GW,GY,HK,HM,HN,HR,HT,HU,ID,IE,IL,IN,IO,IQ,IR,IS,IT,"         + "JM,JO,JP,KE,KG,KH,KI,KM,KN,KP,KR,KW,KY,KZ,LA,LB,LC,LI,LK,LR,LS,"         + "LT,LU,LV,LY,MA,MC,MD,MG,MH,MK,ML,MM,MN,MO,MP,MQ,MR,MS,MT,MU,MV,"         + "MW,MX,MY,MZ,NA,NC,NE,NF,NG,NI,NL,NO,NP,NR,NU,NZ,OM,PA,PE,PF,PG,"         + "PH,PK,PL,PM,PN,PR,PT,PW,PY,QA,RE,RO,RU,RW,SA,SB,SC,SD,SE,SG,SH,"         + "SI,SJ,SK,SL,SM,SN,SO,SR,ST,SV,SY,SZ,TC,TD,TF,TG,TH,TJ,TK,TM,TN,"         + "TO,TP,TR,TT,TV,TW,TZ,UA,UG,UM,US,UY,UZ,VA,VC,VE,VG,VI,VN,VU,WF,"         + "WS,YE,YT,YU,ZA,ZM,ZR,ZW")      .indexOf(country);    if (index % 3 != 0 || language.length() != 2)      throw new MissingResourceException        ("Can't find ISO3 country for " + country,         "java.util.Locale", country);    // Don't read this aloud. These are the three letter country codes.    return      ("ANDAREAFGATGAIAALBARMANTAGOATAARGASMAUTAUSABWAZEBIHBRBBGDBELBFABGR"       + "BHRBDIBENBMUBRNBOLBRABHSBTNBVTBWABLRBLZCANCCKCAFCOGCHECIVCOKCHLCMR"       + "CHNCOLCRICUBCPVCXRCYPCZEDEUDJIDNKDMADOMDZAECUESTEGYESHERIESPETHFIN"       + "FJIFLKFSMFROFRAFXXGABGBRGRDGEOGUFGHAGIBGRLGMBGINGLPGNQGRCSGSGTMGUM"       + "GNBGUYHKGHMDHNDHRVHTIHUNIDNIRLISRINDIOTIRQIRNISLITAJAMJORJPNKENKGZ"       + "KHMKIRCOMKNAPRKKORKWTCYMKAZLAOLBNLCALIELKALBRLSOLTULUXLVALBYMARMCO"       + "MDAMDGMHLMKDMLIMMRMNGMACMNPMTQMRTMSRMLTMUSMDVMWIMEXMYSMOZNAMNCLNER"       + "NFKNGANICNLDNORNPLNRUNIUNZLOMNPANPERPYFPNGPHLPAKPOLSPMPCNPRIPRTPLW"       + "PRYQATREUROMRUSRWASAUSLBSYCSDNSWESGPSHNSVNSJMSVKSLESMRSENSOMSURSTP"       + "SLVSYRSWZTCATCDATFTGOTHATJKTKLTKMTUNTONTMPTURTTOTUVTWNTZAUKRUGAUMI"       + "USAURYUZBVATVCTVENVGBVIRVNMVUTWLFWSMYEMMYTYUGZAFZMBZARZWE")      .substring(index, index + 3);  }  /**   * Gets the country name suitable for display to the user, formatted   * for the default locale.  This has the same effect as   * <pre>   * getDisplayLanguage(Locale.getDefault());   * </pre>   *   * @return the language name of this locale localized to the default locale,   *         with the ISO code as backup   */  public String getDisplayLanguage()  {    return getDisplayLanguage(defaultLocale);  }  /**   * Gets the language name suitable for display to the user, formatted   * for a specified locale.   *   * @param locale locale to use for formatting   * @return the language name of this locale localized to the given locale,   *         with the ISO code as backup   */  public String getDisplayLanguage(Locale locale)  {    try      {        ResourceBundle bundle          = ResourceBundle.getBundle("gnu.java.locale.iso639", locale);        return bundle.getString(language);      }    catch (MissingResourceException ex)      {        return language;      }  }  /**   * Returns the country name of this locale localized to the   * default locale. If the localized is not found, the ISO code   * is returned. This has the same effect as   * <pre>   * getDisplayCountry(Locale.getDefault());   * </pre>   *   * @return the country name of this locale localized to the given locale,   *         with the ISO code as backup   */  public String getDisplayCountry()  {    return getDisplayCountry(defaultLocale);  }  /**   * Gets the country name suitable for display to the user, formatted   * for a specified locale.   *   * @param locale locale to use for formatting   * @return the country name of this locale localized to the given locale,   *         with the ISO code as backup   */  public String getDisplayCountry(Locale locale)  {    try      {        ResourceBundle bundle =          ResourceBundle.getBundle("gnu.java.locale.iso3166", locale);        return bundle.getString(country);      }    catch (MissingResourceException ex)      {        return country;      }  }  /**   * Returns the variant name of this locale localized to the   * default locale. If the localized is not found, the variant code   * itself is returned. This has the same effect as   * <pre>   * getDisplayVariant(Locale.getDefault());   * </pre>   *   * @return the variant code of this locale localized to the given locale,   *         with the ISO code as backup   */  public String getDisplayVariant()  {    return getDisplayVariant(defaultLocale);  }  /**   * Returns the variant name of this locale localized to the   * given locale. If the localized is not found, the variant code   * itself is returned.   *   * @param locale locale to use for formatting   * @return the variant code of this locale localized to the given locale,   *         with the ISO code as backup   */  public String getDisplayVariant(Locale locale)  {    // XXX - load a bundle?    return variant;  }  /**   * Gets all local components suitable for display to the user, formatted   * for the default locale. For the language component, getDisplayLanguage   * is called. For the country component, getDisplayCountry is called.   * For the variant set component, getDisplayVariant is called.   *   * <p>The returned String will be one of the following forms:<br>   * <pre>   * language (country, variant)   * language (country)   * language (variant)   * country (variant)   * language   * country   * variant   * </pre>   *   * @return String version of this locale, suitable for display to the user   */  public String getDisplayName()  {    return getDisplayName(defaultLocale);  }  /**   * Gets all local components suitable for display to the user, formatted   * for a specified locale. For the language component,   * getDisplayLanguage(Locale) is called. For the country component,   * getDisplayCountry(Locale) is called. For the variant set component,   * getDisplayVariant(Locale) is called.   *   * <p>The returned String will be one of the following forms:<br>   * <pre>   * language (country, variant)   * language (country)   * language (variant)   * country (variant)   * language   * country   * variant   * </pre>   *   * @param locale locale to use for formatting   * @return String version of this locale, suitable for display to the user   */  public String getDisplayName(Locale locale)  {    StringBuffer result = new StringBuffer();    int count = 0;    String[] delimiters = {"", " (", ","};    if (language.length() != 0)      {        result.append(delimiters[count++]);        result.append(getDisplayLanguage(locale));      }    if (country.length() != 0)      {        result.append(delimiters[count++]);        result.append(getDisplayCountry(locale));      }    if (variant.length() != 0)      {        result.append(delimiters[count++]);        result.append(getDisplayVariant(locale));      }    if (count > 1)      result.append(")");    return result.toString();  }  /**   * Does the same as <code>Object.clone()</code> but does not throw   * a <code>CloneNotSupportedException</code>. Why anyone would   * use this method is a secret to me, since this class is immutable.   *   * @return the clone   */  public Object clone()  {    // This class is final, so no need to use native super.clone().    return new Locale(language, country, variant);  }  /**   * Return the hash code for this locale. The hashcode is the logical   * xor of the hash codes of the language, the country and the variant.   * The hash code is precomputed, since <code>Locale</code>s are often   * used in hash tables.   *   * @return the hashcode   */  public synchronized int hashCode()  {    // This method is synchronized because writeObject() might reset    // the hashcode.    return hashcode;  }  /**   * Compares two locales. To be equal, obj must be a Locale with the same   * language, country, and variant code.   *   * @param obj the other locale   * @return true if obj is equal to this   */  public boolean equals(Object obj)  {    if (! (obj instanceof Locale))      return false;    Locale l = (Locale) obj;    return (language.equals(l.language)            && country.equals(l.country)            && variant.equals(l.variant));  }  /**   * Write the locale to an object stream.   *   * @param output the stream to write to   * @throws IOException if the write fails   * @serialData the hashcode should always be written as -1, and recomputed   *      when reading it back   */  private synchronized void writeObject(ObjectOutputStream output)    throws IOException  {    // Synchronized so that hashCode() doesn't get wrong value.    int tmpHashcode = hashcode;    hashcode = -1;    output.defaultWriteObject();    hashcode = tmpHashcode;  }  /**   * Reads a locale from the input stream.   *   * @param input the stream to read from   * @throws IOException if reading fails   * @throws ClassNotFoundException if reading fails   * @serialData the hashCode is always invalid and must be recomputed   */  private void readObject(ObjectInputStream input)    throws IOException, ClassNotFoundException  {    input.defaultReadObject();    hashcode = language.hashCode() ^ country.hashCode() ^ variant.hashCode();  }} // class Locale

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -