最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java的包裝類特性總結(jié)

 更新時(shí)間:2023年05月31日 11:25:20   作者:一一哥Sun  
這篇文章主要介紹Java的包裝類的一些特性,包裝類的作用,哪些類屬于包裝類等,文中有詳細(xì)的代碼示例,對我們的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下

一. 包裝類

1. 概念

我們知道,Java中的數(shù)據(jù)類型總體上分為基本數(shù)據(jù)類型和引用數(shù)據(jù)類型。引用類型的數(shù)據(jù)可以通過對象操作的形式進(jìn)行使用,也就是說,我們可以通過對象的屬性和方法來進(jìn)行操作。但如果是基本數(shù)據(jù)類型的數(shù)據(jù),我們能不能像操作對象那樣來操作呢?為了實(shí)現(xiàn)這個(gè)目標(biāo),Java為8種基本數(shù)據(jù)類型分別設(shè)計(jì)了對應(yīng)的類,我們稱其為包裝類(Wrapper Classes ) ,或者稱其為外覆類或數(shù)據(jù)類型類。因?yàn)檫@些包裝類都是引用類型,所以我們就可以方便地操作這些數(shù)據(jù)的屬性和方法了。

其實(shí)之所以為8種基本數(shù)據(jù)類型都設(shè)計(jì)出對應(yīng)的包裝類,從深層分析,主要是為了配合Java 5之后出現(xiàn)的泛型。 在泛型的使用中,基本數(shù)據(jù)類型和泛型不能配合使用,即Primitive Types 和Generic不能混用。舉個(gè)簡單的例子,比如我們想使用ArrayList、HashMap等集合時(shí),這些集合都需要指明集合中數(shù)據(jù)的泛型。而int、double等基本類型是不允許被使用的,因?yàn)檫@些集合容器的泛型都必須是Object類型,所以就需要這些包裝類型了,如下圖所示:

2. 8個(gè)包裝類

有了這8個(gè)包裝類,我們就可以按照面向?qū)ο蟮乃季S來操作數(shù)據(jù)了,可以操作對象的屬性和方法,也可以給對象賦null值,這是基本類型做不到的。我們來看看Java中的基本類型與其對應(yīng)的包裝類,如下表所示:

基本類型包裝類型
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

 

從上面的表中我們可以看出,基本上包裝類的類名,就是把基本類型的首字母變成大寫,除了Integer和Character特殊一點(diǎn)。另外,Byte、Short、Integer、Long、Float、Double這六個(gè)類,都是Number的子類,它們具有一些共同的類型轉(zhuǎn)換方法,方便我們進(jìn)行類型之間的轉(zhuǎn)換。

二. 常用包裝類

為了讓大家更好地掌握這些包裝類的用法及特性,壹哥在這里只把幾個(gè)常用的包裝類給大家介紹一下。

1. Integer簡介

Integer類中包含了一個(gè)int類型的字段。該類提供了一些可以方便處理int類型的常量,比如獲取整型的最大值和最小值等。另外該類還提供了多個(gè)方法,可以在 int類型和 String類型之間互相轉(zhuǎn)換。

1.1 Integer中的常量

Integer類包含以下4個(gè)常量:

  • MAX_VALUE:是一個(gè)常量值,值為 231-1,代表int類型能夠表示的最大值;
  • MIN_VALUE:是一個(gè)常量值,值為 -231,代表int類型能夠表示的最小值;
  • SIZE:以二進(jìn)制補(bǔ)碼的形式,表示 int值的比特位數(shù);
  • TYPE:代表基本類型 int 的 Class 實(shí)例對象。

1.2 Integer中的方法

Integer類中提供的常用方法如下表所示:

方法返回值功能
byteValue()byte轉(zhuǎn)換為byte類型
shortValue()short轉(zhuǎn)換為short類型
intValue()int轉(zhuǎn)換為int類型
toString()String轉(zhuǎn)換為String類型
equals(Object obj)boolean比較此對象與指定對象是否相等
compareTo(Integer anotherlnteger)int比較兩個(gè) Integer對象的數(shù)值大小,如相等,則返回 0; 如調(diào)用對象的數(shù)值小于 anotherlnteger,則返回負(fù)值; 如調(diào)用對象的數(shù)值大于 anotherlnteger,則返回正值
valueOf(String s)Integer將String類型的數(shù)值轉(zhuǎn)為 Integer對象
parseInt(String s)int將String字符串轉(zhuǎn)為 int 數(shù)值

我們要注意,在將字符串轉(zhuǎn)換為 int類型數(shù)值的過程中,如果字符串為非數(shù)值型的內(nèi)容,轉(zhuǎn)換時(shí)可能會(huì)出現(xiàn)NumberFormatException異常。

2. Byte簡介

Byte類中內(nèi)含了一個(gè)byte類型的字段,該類提供了一些可以方便處理byte值的常量和方法,方便了我們的操作。

2.1 Byte中的常量

Byte類中提供的常量如下:

  • MIN_VALUE:byte類的最小值,-128;
  • MAX_VALUE:byte類的最大值,127;
  • SIZE:以二進(jìn)制補(bǔ)碼形式表示的 byte值位數(shù);
  • TYPE:表示byte的Class實(shí)例對象。

2.2 Byte中的方法

Byte類中的常用方法如下:

方法返回值功能
byteValue()byte轉(zhuǎn)換為byte類型
compareTo(Byte bytel)int比較兩個(gè)byte值的大小
doubleValue()double轉(zhuǎn)換為double類型
intValue()int轉(zhuǎn)換為int類型
parseByte(String s)byte將String類型值轉(zhuǎn)為Byte類型
toStringOString將 byte值轉(zhuǎn)為String字符串
valueOf(String s)Byte將String字符串轉(zhuǎn)為Byte對象
equals(Object obj)boolean比較兩個(gè)對象是否相等,如果調(diào)用該方法的對象與obj相等則返回 true,否則返回false

3. Float簡介

Float類中內(nèi)含了一個(gè)float類型的字段,該類提供了一些可以方便處理float值的常量和方法,方便了我們的操作。

3.1 Float中的常量

Float類的常量值如下所示:

  • MAX_VALUE:表示float的最大值,為 1.4E38;
  • MIN_VALUE:表示float的最小值,為3.4E-45;
  • MAX_EXPONENT:float變量可能具有的最大指數(shù);
  • MIN_EXPONENT:float變量可能具有的最小指數(shù);
  • MIN_NORMAL:保存float類型值的最小標(biāo)準(zhǔn)值常量,即 2-126;
  • NaN:保存float類型的非數(shù)值常量;
  • SIZE:以二進(jìn)制補(bǔ)碼形式表示的float值的比特位數(shù);
  • TYPE:表示float類型的Class對象實(shí)例。

3.2 Float中的方法

Float類中的常用的方法如下表所示:

方法返回值功能
byteValue()byte轉(zhuǎn)為byte類型
doubleValue()double轉(zhuǎn)為double類型
floatValue()float轉(zhuǎn)為float類型
intValue()int強(qiáng)制轉(zhuǎn)換為int類型
longValue()long強(qiáng)制轉(zhuǎn)換為long類型
shortValue()short強(qiáng)制轉(zhuǎn)換為short類型
isNaN()boolean判斷該值是否為非數(shù)字值,如果是則返回true,否則返回false
isNaN(float v)boolean如果指定的參數(shù)是一個(gè)非數(shù)字值,則返回 true,否則返回 false
toString()String將Float值轉(zhuǎn)為 String對象
valueOf(String s)Float將String轉(zhuǎn)為Float對象
parseFloat(String s)float將String轉(zhuǎn)為float數(shù)值

4. Double簡介

Double類中內(nèi)含了一個(gè)double類型的字段,該類提供了一些可以方便處理double值的常量和方法,方便了我們的操作。

4.1 Double中的常量

Double類中的常量如下所示:

  • MAX_VALUE:表示double類型的最大值,1.8E308;
  • MIN_VALUE:表示double類型的最小值,4.9E-324;
  • NaN:表示double類型的非數(shù)字值;
  • NEGATIVE_INFINITY:表示double類型負(fù)無窮大的常量值;
  • POSITIVE_INFINITY:表示double類型正無窮大的常量值;
  • SIZE:以二進(jìn)制補(bǔ)碼形式表示的double值的比特位數(shù);
  • TYPE:表示double類型的Class實(shí)例對象。

4.2 Double中的方法

Double類中的常用方法如下表所示:

方法返回值功能
byteValue()byte轉(zhuǎn)為byte類型
doubleValue()double轉(zhuǎn)為double類型
fioatValue()float轉(zhuǎn)為float類型
intValue()int強(qiáng)制轉(zhuǎn)換為int類型
longValue()long強(qiáng)制轉(zhuǎn)換為long類型
shortValue()short強(qiáng)制轉(zhuǎn)換為short類型
isNaN()boolean如果該值是一個(gè)非數(shù)字值則返回true,否則返回false
isNaN(double v)boolean如果指定的參數(shù)是一個(gè)非數(shù)字值則返回 true,否則返回 false
toString()String將Double值轉(zhuǎn)為String字符串
valueOf(String s)Double將String值轉(zhuǎn)為Double對象
parseDouble(String s)double將數(shù)字字符串轉(zhuǎn)換為Double值

5. Character簡介

Character類用于對單個(gè)字符進(jìn)行操作,內(nèi)含了一個(gè)char類型的字段,該類提供了一些可以方便處理char值的方法,方便了我們的操作。

5.1 Character中的方法

Character類中的常用方法如下表所示:

方法描述
void Character(char value)構(gòu)造一個(gè)新的Character對象,表示指定的char值
char charValue()返回該Character對象的值
int compareTo(Character anotherCharacter)比較兩個(gè)Character對象的大小
boolean equals(Character anotherCharacter)將該對象與指定對象比較,當(dāng)且僅當(dāng)參數(shù)不是null,且此對象 與該Character對象相同時(shí),結(jié)果為true
boolean isDigit(char ch)判斷指定字符是否為數(shù)字
boolean isLetter(int codePoint)判斷指定的字符是否為字母
boolean isLetterOrDigit(int codePoint)判斷指定的字符是否為字母或數(shù)字
boolean isLowerCase(char ch)判斷指定的字符是否為小寫字母
boolean isUpperCase(char ch)判斷指定的字符是否為大寫字母
char toLowerCase(char ch)將指定的字符參數(shù)轉(zhuǎn)為小寫
char toUpperCase(char ch)將指定的字符參數(shù)轉(zhuǎn)為大寫

5.2 代碼案例

Character類的方法比較多,壹哥給大家設(shè)計(jì)了如下代碼案例進(jìn)行演示:

/**
 * @author
 */
public class CharacterTest {
    public static void main(String[] args) {
	//構(gòu)造一個(gè)Character對象,該方式已過時(shí)
	Character character = new Character('A');
	//比較兩個(gè)對象是否相同,0表示相同;正數(shù)表示前者大于后者;負(fù)數(shù)表示前者小于后者
	int result = character.compareTo(new Character('B'));
	System.out.println(result);    // 輸出 -1,表示A小于B
	//獲取Character對象的第2種方式,注意參數(shù)必須是單引號括起來的字符型,
	Character char02 = Character.valueOf('B');
	//獲取Character對象的第3種方式,常用該方式
	Character char03='C';
	//將大寫字符轉(zhuǎn)為小寫字符
	char lowerCase = Character.toLowerCase('Y');
	System.out.println("lowerCase="+lowerCase);   
	String str="hello666";
	for(int i=0;i<str.length();i++) {
            //判斷每一個(gè)字符是否是字母
            boolean isLetter = Character.isLetter(str.charAt(i));
            System.out.println(str.charAt(i)+", 是字母嗎?="+isLetter); 
	}
    }
}

6. Boolean簡介

Boolean類中內(nèi)含了一個(gè)boolean類型的字段,該類提供了一些可以方便處理boolean值的常量和方法,方便了我們的操作。

6.1 Boolean中的常量

Boolean類包含的常量如下所示:

  • TRUE:代表值為true的常量;
  • FALSE:代表值為false的常量;
  • TYPE:表示boolean類型的Class實(shí)例對象。

6.2 Boolean中的方法

Boolean類中常用的方法如下表所示:

方法返回值功能
booleanValue()boolean轉(zhuǎn)為boolean類型
equals(Object obj)boolean判斷調(diào)用該方法的對象與obj是否相等。當(dāng)參數(shù)不是null,且與調(diào)用該方法的對象相同時(shí)則返回true
parseBoolean(String s)boolean將String字符串參數(shù)轉(zhuǎn)為 boolean值
toString()String返回表示該boolean值的String字符串
valueOf(String s)boolean將指定的字符串轉(zhuǎn)為boolean值

7. 基本用法

現(xiàn)在我們已經(jīng)知道有哪些包裝類了,那么這些包裝類怎么用呢?接下來我們就通過一些代碼,來學(xué)習(xí)常用的包裝類吧。

7.1 Integer的用法

我們先通過一段代碼,來了解一下Integer的用法,因?yàn)樵趯?shí)際開發(fā)中,Integer是比較常用的包裝類。

/**
 * @autho
 */
public class WrapperTest {
    public static void main(String[] args) {
	//Integer變量的幾種定義方式
	Integer i001 = new Integer(50);
        Integer i002=new Integer("100");
	//注意:將字符串轉(zhuǎn)為數(shù)值型時(shí),也要注意待轉(zhuǎn)換的類型必須匹配,我們不能將非數(shù)字的字符串轉(zhuǎn)為數(shù)值型,否則會(huì)出現(xiàn)NumberFormatException
	//Integer i007=new Integer("hello");
        Integer i003 = 100;
        //利用靜態(tài)方法,返回一個(gè)指定int值的Integer對象
	Integer i004=Integer.valueOf(200);
        //利用靜態(tài)方法,返回指定String值的Integer對象
	Integer i005=Integer.valueOf("300");
        //第2個(gè)參數(shù)radix,表示基數(shù),即當(dāng)前采用的進(jìn)制
	Integer i006=Integer.valueOf("400",16);
	System.out.println("i006="+i006);
	//獲取Integer的最大值與最小值
	System.out.println(Integer.MAX_VALUE);
	System.out.println(Integer.MIN_VALUE);
    }
}

valueOf()方法是一個(gè)靜態(tài)方法,用于返回給定參數(shù)的原生Number對象,其參數(shù)可以是原生數(shù)據(jù)類型和String等。如果該方法帶有兩個(gè)參數(shù),那么第一個(gè)是字符串,第二個(gè)則是基數(shù),用于表明要轉(zhuǎn)換成的進(jìn)制。

7.2 Double的用法

接下來我們再來看看Double的用法。

/**
 * @author 
 * 
 */
public class WrapperTest {
    public static void main(String[] args) {	
	//Double類型的用法
	//將數(shù)值型或字符串類型轉(zhuǎn)為Double類型
	Double d001 = new Double(100.1);
	Double d002 = new Double("200.2");
	//Double d007 = new Double("hello");
	Double d003 = 300.3;
	Double d004 =Double.valueOf(400.4);
	//通過doubleValue()方法取double值
	System.out.println("d004="+d004.doubleValue());
	Double d005 =Double.valueOf("500.5");
	//直接使用
	System.out.println("d005="+d005);
        //獲取最大值和最小值
	System.out.println(Double.MAX_VALUE);
	System.out.println(Double.MIN_VALUE);
    }
}

7.3 字符串轉(zhuǎn)包裝類

有了包裝類,我們就可以將字符串類型的數(shù)值轉(zhuǎn)換成Integer或者是Double等類型。在下面的案例中,我們可以利用包裝類提供的各個(gè)parseXXX()方法,來將字符串轉(zhuǎn)為對應(yīng)的包裝類型。

/**
 * @author 
 * 
 */
public class WrapperTest {
    public static void main(String[] args) {
	//字符串轉(zhuǎn)Integer或Double類型
	String s1 = "123";
	//方式1:
	int i007 = Integer.parseInt(s1);
	System.out.println("i007="+i007);
	//方式2:
	int i008 = Integer.valueOf(s1);
	System.out.println("i008="+i008);
	String s2 = "20.5";
        //方式1:
	double d006 = Double.parseDouble(s2);
	System.out.println("d006="+d006);
	//方式2:
	double d007 = Double.valueOf(s2);
	System.out.println("d007="+d007);
	//java.lang.NumberFormatException,數(shù)字格式化異常
	//String s3 = "hello";
	String s3 = null;
	System.out.println(Integer.parseInt(s3));	
    }
}

在以上代碼中,除了有Integer.parseInt()、Double.parseDouble()方法之外,還有Float.parseFloat()、Byte.parseByte()、Short.parseShort()、 Boolean.parseBoolean() 等方法可以將字符串轉(zhuǎn)為對應(yīng)的包裝類。

但是我們要注意,在將字符串轉(zhuǎn)為Integer或Double等類型時(shí),并不是所有的字符串內(nèi)容都可以轉(zhuǎn)換成功,有可能會(huì)出現(xiàn)NumberFormatException異常,如下所示:

Exception in thread "main" java.lang.NumberFormatException: For input string: "hello"

7.4 類型間轉(zhuǎn)換

Byte、Short、Integer、Long、Float、Double這六個(gè)類,有一個(gè)共同的父類Number。其中,Number提供了一組xxxValue()方法,可以用于將某種類型轉(zhuǎn)換成其他的類型,案例如下:

/**
 * @author
 * 
 */
public class WrapperTest {
    @SuppressWarnings("null")
    public static void main(String[] args) {
	//類型間轉(zhuǎn)換
	Integer a = 100;	
        //將Integer轉(zhuǎn)為Byte類型
	Byte b = a.byteValue();
        //將Integer轉(zhuǎn)為Short類型
	Short c = a.shortValue();
        //將Integer轉(zhuǎn)為Long類型
	Long d = a.longValue();
        //將Integer轉(zhuǎn)為Float類型
	Float e = a.floatValue();
        //將Integer轉(zhuǎn)為Double類型
	Double f = a.doubleValue();
        //取出數(shù)值的整數(shù)部分,將Integer轉(zhuǎn)為int
	int g = a.intValue();
        System.out.println("a="+a+",b="+b+",c="+c+",d="+d+",e="+e+",f="+f+",g="+g);
        //包裝類轉(zhuǎn)字符串,默認(rèn)是按照10進(jìn)制進(jìn)行轉(zhuǎn)換
	String intStr = Integer.toString(1000);
	String dobuleStr = Double.toString(200.5);
	Byte by=126;
	String byteStr=Byte.toString(by);
        //將數(shù)字轉(zhuǎn)換成二進(jìn)制
        String str1 = Integer.toBinaryString(num); 
        // 將數(shù)字轉(zhuǎn)換成八進(jìn)制
        String str2 = Integer.toHexString(num); 
        // 將數(shù)字轉(zhuǎn)換成十六進(jìn)制
        String str3 = Integer.toOctalString(num); 
    }
}

每種包裝類之間,都可以使用這些方法進(jìn)行類型的轉(zhuǎn)換。另外每種包裝類都提供了對應(yīng)的toString()toBinaryString()/toHexString()/toOctalString()方法,可以將該包裝類轉(zhuǎn)為十進(jìn)制、二進(jìn)制、八進(jìn)制和十六進(jìn)制的String字符串,比如Integer.toString()、Double.toString()等,這里壹哥就不再一一贅述了。

三. 結(jié)語

至此,就把Java中的常用包裝類給大家介紹完畢了,現(xiàn)在你知道包裝類和基本類型有什么聯(lián)系和區(qū)別了嗎?本文重點(diǎn)總結(jié)如下:

  • Java提供的包裝類可以把基本類型包裝為class,從而可以通過面向?qū)ο蟮姆绞讲僮骰绢愋停?/li>
  • 整數(shù)和浮點(diǎn)數(shù)的包裝類都繼承自Number類;
  • 包裝類提供了大量的實(shí)用方法和常量。

以上就是Java的包裝類特性總結(jié)的詳細(xì)內(nèi)容,更多關(guān)于Java 包裝類的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • MyBatis驗(yàn)證多級緩存及 Cache Aside 模式的應(yīng)用小結(jié)

    MyBatis驗(yàn)證多級緩存及 Cache Aside 模式的應(yīng)用小結(jié)

    本文介紹了MyBatis的多級緩存機(jī)制,包括本地緩存和全局緩存,并通過Spock測試框架驗(yàn)證了多級緩存的實(shí)現(xiàn),本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-12-12
  • SpringBoot實(shí)現(xiàn)Thymeleaf驗(yàn)證碼生成

    SpringBoot實(shí)現(xiàn)Thymeleaf驗(yàn)證碼生成

    本文使用SpringBoot實(shí)現(xiàn)Thymeleaf驗(yàn)證碼生成,使用后臺返回驗(yàn)證碼圖片,驗(yàn)證碼存到session中后端實(shí)現(xiàn)校驗(yàn),前端只展示驗(yàn)證碼圖片。感興趣的可以了解下
    2021-05-05
  • java中年月日的加減法使用示例

    java中年月日的加減法使用示例

    這篇文章主要介紹了java中年月日的加減法使用示例的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • Spring Boot2.0中SpringWebContext找不到無法使用的解決方法

    Spring Boot2.0中SpringWebContext找不到無法使用的解決方法

    這篇文章主要給大家介紹了關(guān)于Spring Boot2.0中SpringWebContext找不到無法使用的解決方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • Java的SPI機(jī)制以及基于SPI編程示例詳解

    Java的SPI機(jī)制以及基于SPI編程示例詳解

    這篇文章主要為大家介紹了Java的SPI機(jī)制以及基于SPI編程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • Spring Cloud微服務(wù)之間調(diào)用Dubbo的詳細(xì)過程

    Spring Cloud微服務(wù)之間調(diào)用Dubbo的詳細(xì)過程

    SpringCloudAlibabaDubbo是阿里巴巴開源的Dubbo與SpringCloud的深度集成方案,本文介紹Spring Cloud微服務(wù)之間調(diào)用Dubbo的詳細(xì)過程,感興趣的朋友跟隨小編一起看看吧
    2026-02-02
  • Java精品項(xiàng)目瑞吉外賣之登陸的完善與退出功能篇

    Java精品項(xiàng)目瑞吉外賣之登陸的完善與退出功能篇

    這篇文章主要為大家詳細(xì)介紹了java精品項(xiàng)目-瑞吉外賣訂餐系統(tǒng),此項(xiàng)目過大,分為多章獨(dú)立講解,本篇內(nèi)容為新增菜品和分頁查詢功能的實(shí)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • SpringCloud組件OpenFeign之?dāng)r截器解讀

    SpringCloud組件OpenFeign之?dāng)r截器解讀

    這篇文章主要介紹了SpringCloud組件OpenFeign之?dāng)r截器用法。具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Java迭代器遍歷list的方法及代碼分析

    Java迭代器遍歷list的方法及代碼分析

    在本篇內(nèi)容里系小編給大家分享的是一篇關(guān)于Java迭代器遍歷list的方法總結(jié)內(nèi)容,有需要的朋友們可以參考學(xué)習(xí)下。
    2022-11-11
  • Java面試題沖刺第八天--Spring框架2

    Java面試題沖刺第八天--Spring框架2

    這篇文章主要為大家分享了最有價(jià)值的三道Spring框架面試題,涵蓋內(nèi)容全面,包括數(shù)據(jù)結(jié)構(gòu)和算法相關(guān)的題目、經(jīng)典面試編程題等,感興趣的小伙伴們可以參考一下
    2021-07-07

最新評論

杂多县| 嘉峪关市| 宜川县| 浑源县| 新田县| 托克逊县| 仁怀市| 泽州县| 汤阴县| 贵南县| 福建省| 景宁| 阳东县| 宁南县| 昌吉市| 顺平县| 乐亭县| 红桥区| 柳林县| 定兴县| 白城市| 扎鲁特旗| 乌审旗| 道真| 吴桥县| 连山| 丘北县| 华蓥市| 竹山县| 宜昌市| 友谊县| 银川市| 襄樊市| 武安市| 犍为县| 富阳市| 定州市| 美姑县| 鄂伦春自治旗| 盐山县| 丹棱县|