麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Java > 正文

深入解析java中的locale

2019-11-26 16:00:07
字體:
來源:轉載
供稿:網友
在項目中經常要用到將字符串解析成Locale,但是沒有一個比較好用的類。
java本身提供了3個構造函數,但是實際使用過程中,需要自己解析,比較繁瑣。
Locale(langugae)
locale(language,country)

Locale(String language, String country, String variant)
Apache 有個 LocaleUtils.toLocale(String language)但是不支持最后2個字符為小寫的,如:zh_CN支持, zh_cn就不支持。

參考其它方法,寫了下面的類,做個筆記,也希望對解決類似問題的人有點幫助。
復制代碼 代碼如下:

import java.util.Locale;
public class LocaleUtil
{
    private final static Locale DEFAULT_LOCALE = Locale.ENGLISH;

    public final static String IETF_SEPARATOR = "-"; 

    public final static String SEPARATOR = "_"; 

    public final static String EMPTY_STRING = "";

   
    public static Locale toLocale( String language )
    {
        if( !StringUtil.isNullOrEmpty( language ) )
        {
            return langToLocale( language, SEPARATOR );
        }
        return DEFAULT_LOCALE;
    }

     public static Locale langToLocale( String lang , String separator )
     {
           if( StringUtil.isNullOrEmpty( lang ) )
           {
                return DEFAULT_LOCALE;
           }
            String language = EMPTY_STRING;
            String country =  EMPTY_STRING;
            String variant =  EMPTY_STRING;
            int i1 = lang.indexOf( separator );
            if ( i1 < 0 )
            {
                language = lang;
            } else
            {
                language = lang.substring(0, i1);
                ++i1;
                int i2 = lang.indexOf( separator, i1);
                if (i2 < 0)
                {
                    country = lang.substring(i1);
                } else
                {
                    country = lang.substring(i1, i2);
                    variant = lang.substring(i2+1);
                }
            }

            if(language.length() == 2)
            {
               language = language.toLowerCase();
            }else
            {
              language = EMPTY_STRING;
            }

            if(country.length() == 2)
            {
               country = country.toUpperCase();
            }else
            {
              country = EMPTY_STRING;
            }

            if( (variant.length() > 0) &&
                ((language.length() == 2) ||(country.length() == 2)) )
            {
               variant = variant.toUpperCase();
            }else
            {
                variant = EMPTY_STRING;
            }

            return new Locale(language, country, variant );
        }
}

注意:
復制代碼 代碼如下:

 public class StringUtil
{
    public static boolean isNullOrEmpty(String target) {
        return target == null || "".equals(target);
    }
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 毛片免费在线观看视频 | 91久久极品少妇韩国 | 中文日韩在线 | 九九热九九爱 | 午夜爱爱福利 | 国产亚洲精品一区二区三区 | 久久精品亚洲一区 | hdhdhd69ⅹxxx黑人 | 91九色论坛| 国产手机在线视频 | 亚洲特黄妇女高潮 | 素人视频在线观看免费 | 亚洲一区二区在线 | 国产精品三级a三级三级午夜 | 毛片在线视频免费观看 | 欧美一级黄色录像片 | 久久精国| 91福利免费观看 | 日韩精品久久久 | 亚洲无线看 | 日韩视频不卡 | 日本一级黄色毛片 | 蜜桃麻豆视频 | 91色成人| av在线免费看网站 | 一级黄色在线观看 | 欧美女优一区 | 狠狠操操| 日韩视频在线一区二区三区 | 色av综合在线 | 欧美日韩精品一区二区三区蜜桃 | 欧美日韩激情 | 久久久久久久久亚洲精品 | 一级黄色毛片播放 | 91 在线观看 | 蜜桃麻豆视频 | 91在线播放国产 | 欧美日韩国产一区二区三区在线观看 | 久久久久久久一区二区三区 | 黄色av.com| 亚洲极色 |