精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

漲見識!Java String轉int還有這種寫法

開發(fā) 后端
在 Java 中,String(字符串) 和 int(整形) 是兩種不同的數(shù)據(jù)類型,字符串可以把許多字符串起來,整形嘛——就是整形了。

[[338589]]

之前我寫了一篇《老師,你確定Java注釋不會被執(zhí)行嗎》,結果文章在知乎小火了一把,將近 10 萬人閱讀。有愛裝逼的同行批評說,標題夸大了;同時,也有很多初學者表示,漲見識了,之前從來不知道這個知識點,這下學到了。

必須得承認一點,我寫的大多數(shù)技術文章都是針對初學者的,因為我覺得他們最需要幫助,這也是我一直堅持分享的初衷。

我也不喜歡寫那些高深的文章,費時間耗精力,受眾也小。就拿我們學過的古詩來說吧,“鵝鵝鵝,曲項向天歌”,“一去二三里,煙村四五家”,我就覺得挺好的。沒必要都去搞陽春白雪,最后搞得曲高和寡,對吧?

那這次來分享一個新的知識點,我敢賭一包衛(wèi)龍辣條(打錢來),很多同學不一定知道。

在 Java 中,String(字符串) 和 int(整形) 是兩種不同的數(shù)據(jù)類型,字符串可以把許多字符串起來,整形嘛——就是整形了。

(同學們可能會疑惑,這個知識點我能不知道,別蒙我好不好?繼續(xù)往下看唄。吃大餐之前,還能不來點小吃或者涼菜?)

有時候,字符串可以單純包含一些數(shù)字,比如說“123”。大家應該都見過,當一些操作需要你輸入手機驗證碼的時候,大部分要求輸入的都是 6 位或者 4 位的隨機數(shù)字,它們傳遞到服務器端的時候,最初的形式都是字符串類型的,然后可能再轉成整形做一些處理。

對于 Java 來說,不能直接通過“+”操作符來使兩個字符串類型的數(shù)字相加,來看下面的例子。

  1. String a = "100"
  2. String b = "50"
  3. String c = a+b; 
  4. System.out.println(c); 

程序輸出的結果是 10050,而不是 150。對于字符串來說,“+”操作符是用來串聯(lián)的,而不是用來相加的。

(同學們可能又要催了,這個知識點我也知道啊!馬上馬上,重點馬上就來。)

那就有必要先把字符串轉成整形再來做運算了,常見的做法有兩種:

第一種,使用 Integer.valueOf(),它將返回一個包裝器類型 Integer,當然可以通過自動拆箱的方式將其轉成 int 類型。

  1. String a = "100"
  2. String b= "50"
  3. int A = Integer.valueOf(a); 
  4. int B = Integer.valueOf(b); 
  5.  
  6. int c = A+B; 
  7. System.out.println(c); 

程序輸出結果如下所示:

  1. 150 

第二種,使用 Integer.parseInt(),它將返回一個基本數(shù)據(jù)類型 int。

  1. String a = "100"
  2. String b= "50"
  3. int A = Integer.parseInt(a); 
  4. int B = Integer.parseInt(b); 
  5.  
  6. int c = A+B; 
  7. System.out.println(c); 

程序輸出結果如下所示:

  1. 150 

這兩種方式,優(yōu)先推薦第二種,因為不涉及到自動拆箱,性能更佳。

(同學們可能急不可耐了,就這?好了,現(xiàn)在重點真的來了)

那除了上面這兩種方式,同學們還能想到第三種嗎?把字符串轉成整形。是不是突然感覺腦袋里有點空?

空就對了,本篇文章最漲見識的時候,它來了!步履蹣跚地來了!

  1. /** 
  2.  * @author 沉默王二,一枚有趣的程序員 
  3.  */ 
  4. public class String2IntDemo { 
  5.     public static void main(String[] args) { 
  6.         String a = "100"
  7.         String b = "50"
  8.         int A = string2int(a); 
  9.         int B = string2int(b); 
  10.         int c = A + B; 
  11.         System.out.println(c); 
  12.     } 
  13.  
  14.     public static int string2int(String s) { 
  15.         int num = 0; 
  16.         int pos = 1; 
  17.         for (int i = s.length() - 1; i >= 0; i--) { 
  18.             num += (s.charAt(i) - '0') * pos; 
  19.             pos *= 10; 
  20.  
  21.         } 
  22.         return num; 
  23.  
  24.     } 

這段程序輸出的結果同樣是 150。那眼睛雪亮的同學可能就發(fā)現(xiàn)了,string2int()方法到底是個什么樣的神奇方法,還有把字符串轉成整形的功效?

首先,必須得普及一點常識,同學們需要對 ASCII 碼有一點了解,就是所有的字符都有識別它們的代碼——這代碼就是 ASCII 碼。

基于這一點,所有數(shù)字型的字符減去字符‘0’,將會得到該字符的絕對值,是一個整數(shù)。

  1. String s = "520"
  2. System.out.println(s.charAt(2) - '0'); 
  3. System.out.println(s.charAt(1) - '0'); 
  4. System.out.println(s.charAt(0) - '0'); 

輸出結果如下所示:

字符串“520”的長度為 3,也就是說,下標為 2 的位置是字符‘0’——數(shù)字 520 的個位數(shù);下標為 1 的位置是字符‘2’——數(shù)字 520 的十位數(shù);下標為 0 的位置是字符‘5’——數(shù)字 520 的百位數(shù)。

那有些機靈點的同學可能就想到了,通過一個 for 循環(huán),遍歷一下字符串,然后計算出當前位置上的整數(shù)值,個位數(shù)乘以 1,十位數(shù)乘以 10,百位數(shù)乘以 100,然后再加起來,就是字符串對應的整數(shù)值了。

沒錯,沒錯,string2int() 方法就是這么做的,如果參數(shù)是字符串“520”,那返回的結果就是整形 520;如果參數(shù)是字符串“100”,那返回的結果就是整形 100;如果參數(shù)是字符串“50”,那返回的結果就是整形 50。

如果你是一名有追求的程序員,那么對于 Integer.valueOf() 和Integer.parseInt() 都不會太滿意,因為這只是拿別人的輪子來用。而自定義方法 string2int() 就屬于從頭到尾的造輪子了。一想到這,是不是感覺自己開始變牛逼了?

其實,如果你肯扒拉源碼的話,就會恍然大悟。

先來看 Integer.valueOf() 方法:

  1. public static Integer valueOf(String s) throws NumberFormatException { 
  2.     return Integer.valueOf(parseInt(s, 10)); 

內部調用的其實就是 int parseInt(String s, int radix) 方法。

再來看 Integer.parseInt() 方法:

  1. public static int parseInt(String s) throws NumberFormatException { 
  2.     return parseInt(s,10); 

內部調用的也是 int parseInt(String s, int radix) 方法,基數(shù) radix 參數(shù)都是 10——同學們是不是猜到了什么?

對,你猜的八九不離十,再來看一下 int parseInt(String s, int radix) 方法的源碼:

  1. public static int parseInt(String s, int radix) 
  2.         throws NumberFormatException 
  3.     /* 
  4.      * WARNING: This method may be invoked early during VM initialization 
  5.      * before IntegerCache is initialized. Care must be taken to not use 
  6.      * the valueOf method. 
  7.      */ 
  8.  
  9.     if (s == null) { 
  10.         throw new NumberFormatException("null"); 
  11.     } 
  12.  
  13.     if (radix < Character.MIN_RADIX) { 
  14.         throw new NumberFormatException("radix " + radix + 
  15.                 " less than Character.MIN_RADIX"); 
  16.     } 
  17.  
  18.     if (radix > Character.MAX_RADIX) { 
  19.         throw new NumberFormatException("radix " + radix + 
  20.                 " greater than Character.MAX_RADIX"); 
  21.     } 
  22.  
  23.     boolean negative = false
  24.     int i = 0, len = s.length(); 
  25.     int limit = -Integer.MAX_VALUE; 
  26.  
  27.     if (len > 0) { 
  28.         char firstChar = s.charAt(0); 
  29.         if (firstChar < '0') { // Possible leading "+" or "-" 
  30.             if (firstChar == '-') { 
  31.                 negative = true
  32.                 limit = Integer.MIN_VALUE; 
  33.             } else if (firstChar != '+') { 
  34.                 throw NumberFormatException.forInputString(s, radix); 
  35.             } 
  36.  
  37.             if (len == 1) { // Cannot have lone "+" or "-" 
  38.                 throw NumberFormatException.forInputString(s, radix); 
  39.             } 
  40.             i++; 
  41.         } 
  42.         int multmin = limit / radix; 
  43.         int result = 0; 
  44.         while (i < len) { 
  45.             // Accumulating negatively avoids surprises near MAX_VALUE 
  46.             int digit = Character.digit(s.charAt(i++), radix); 
  47.             if (digit < 0 || result < multmin) { 
  48.                 throw NumberFormatException.forInputString(s, radix); 
  49.             } 
  50.             result *= radix; 
  51.             if (result < limit + digit) { 
  52.                 throw NumberFormatException.forInputString(s, radix); 
  53.             } 
  54.             result -= digit; 
  55.         } 
  56.         return negative ? result : -result; 
  57.     } else { 
  58.         throw NumberFormatException.forInputString(s, radix); 
  59.     } 

1)parseInt() 方法判斷了 null 的情況,認為格式不正確。

2)然后判斷了基數(shù) radix 的情況,不能小于 2,不能大于 36。

3)if (len > 0) 判斷了字符串長度的情況,如果為空“”,也認為格式不正確。

4)再然后判斷首個字符 s.charAt(0),如果是負號“-”則認為當前字符串是一個負數(shù);如果不是正號“+”,則認為格式不正確;如果只有一個負號或者正號,也認為格式不正確。

總之,就是比我們的自定義方法 string2int() 更嚴謹。

5)使用 while 循環(huán),配合更專業(yè)的 Character.digit(s.charAt(i++), radix) 計算出每個位置上字符對應的數(shù)值,然后和基數(shù) radix 進行相乘后使用累減的方式計算出最后的數(shù)值。

和 string2int() 有點不同,但整體上思路是一致的。

我們也可以對 string2int() 方法再完善一下,使其滿足負數(shù)的情況:

  1. public class S2IDemo { 
  2.     public static void main(String[] args) { 
  3.         String a = "-100"
  4.         String b = "50"
  5.         int A = string2int(a); 
  6.         int B = string2int(b); 
  7.         int c = A + B; 
  8.         System.out.println(c); 
  9.     } 
  10.  
  11.     public static int string2int(String s) { 
  12.         boolean negative = false
  13.         char firstChar = s.charAt(0); 
  14.         if (firstChar == '-') { 
  15.             negative = true
  16.             s = s.substring(1); 
  17.         } 
  18.         int num = 0; 
  19.         int pos = 1; 
  20.         for (int i = s.length() - 1; i >= 0; i--) { 
  21.             num += (s.charAt(i) - '0') * pos; 
  22.             pos *= 10; 
  23.  
  24.         } 
  25.         return negative ? -num : num; 
  26.     } 

當首個字符為負號‘-’的話,結果就返回負數(shù),并且把原來的字符串截取掉第一位。其他不變,這時候,當 a 為“-100”,b 為“50”的時候,a + b 的結果就是 -50。

 

我就問一句,造輪子的感覺是不是很爽?反正我已經(jīng)爽過了。

本文轉載自微信公眾號「沉默王二」,可以通過以下二維碼關注。轉載本文請聯(lián)系沉默王二公眾號。

 

責任編輯:武曉燕 來源: 沉默王二
相關推薦

2021-06-30 13:31:18

線程安全ThreadLocal

2021-09-03 11:15:18

場景sql配置

2021-05-06 07:00:28

Excel數(shù)據(jù)技巧

2021-03-07 16:41:06

URLSpring5

2021-12-27 09:13:51

騰訊京東共同富裕

2021-11-18 07:39:41

Json 序列化Vue

2021-04-16 10:45:02

SQLJava函數(shù)

2021-08-29 23:14:06

Windows 11Windows微軟

2018-07-12 14:59:44

獵網(wǎng)

2023-10-30 08:16:33

數(shù)據(jù)庫插件Mybatis

2009-09-10 09:54:24

虛擬化LinuxLinux操作系統(tǒng)

2020-06-07 16:07:57

Python開發(fā)工具

2021-05-03 23:41:42

微信功能知識

2017-06-16 16:16:36

庫存扣減查詢

2018-09-13 10:59:30

Redis鍵值存儲

2022-10-17 08:17:47

位掩碼Java變量

2021-01-14 05:08:44

編譯鏈接

2021-08-10 10:48:39

拷貝代碼架構耦合

2024-07-26 10:47:10

2015-04-14 09:46:09

Apple Watch秘密
點贊
收藏

51CTO技術棧公眾號

欧美成人精品一级| 成人看片免费| 日韩激情在线观看| 日韩在线www| 五月天六月丁香| 成年人在线网站| 中文字幕免费一区| 国产成人精品一区二区三区福利| 国产精品国产三级国产专区52 | 国产精品二区在线| 国产精品视频一区在线观看| 久久精品国产68国产精品亚洲| 欧美二区三区91| 日本中文字幕在线视频观看| av在线女优影院| youjizz久久| 91精品久久久久久久久不口人| 黄网站免费在线| 日韩欧美一区免费| 日韩精品免费综合视频在线播放| 青青草原国产在线视频| xx欧美xxx| 亚洲精品免费播放| 亚欧洲精品在线视频免费观看| 狠狠躁日日躁夜夜躁av| 久久69国产一区二区蜜臀| 97碰在线观看| 免费一级片视频| 午夜精品久久久久久久四虎美女版| 亚洲精品美女视频| 日韩精品――色哟哟| 久久精品 人人爱| 日本道在线观看一区二区| 亚洲国产精品成人天堂| 午夜成年人在线免费视频| 国产日韩欧美a| 免费在线成人av| 欧美一区二区三区黄片| 国产大陆a不卡| 国产欧美日韩中文字幕在线| 伊人久久中文字幕| 翔田千里一区二区| 98精品国产高清在线xxxx天堂| 国产三级国产精品国产国在线观看| 精品国产美女| 日韩中文首页| 欧美国产日本| 久久久99久久精品女同性| 色欲AV无码精品一区二区久久| 亚洲国产精品嫩草影院久久av| 欧美不卡一区二区| 久久久久亚洲av无码麻豆| 未满十八勿进黄网站一区不卡| 91国偷自产一区二区三区观看 | 97免费观看视频| 九九热99久久久国产盗摄| 国产精品无码免费专区午夜| 超碰在线caoporn| 亚洲三级理论片| 在线无限看免费粉色视频| 亚洲麻豆精品| 日韩毛片一二三区| 玖玖精品在线视频| 欧美videosex性极品hd| 亚洲综合丝袜美腿| 婷婷无套内射影院| 青草草在线视频| 色无极亚洲影院| 日韩在线视频线视频免费网站| 国产一二三av| 亚洲一本二本| 欧美精品福利在线| 青青操免费在线视频| 乱码第一页成人| 国产精品av网站| 在线观看中文字幕码| 精品一区二区三区免费播放| 99九九视频| 日韩电影免费| 国产精品另类一区| 黑人巨茎大战欧美白妇| 丁香花视频在线观看| 偷窥少妇高潮呻吟av久久免费| 欧美成人免费高清视频| 91成人在线| 欧美一区二区三区四区久久 | 伊人中文字幕在线观看| 老司机一区二区三区| 国产精品igao视频| 99久久精品无免国产免费| 成人国产精品免费| 色一情一乱一伦一区二区三欧美 | 亚洲色图清纯唯美| 成人免费观看cn| 91成人在线| 精品国产凹凸成av人网站| 97伦伦午夜电影理伦片| 亚洲激情中文在线| 国产91av在线| 国产精品一区二区免费视频| 99国产精品久久| 综合一区中文字幕| 亚洲天堂资源| 欧美高清激情brazzers| av2014天堂网| 亚洲视频在线免费| 热久久这里只有精品| 国产色在线视频| 久久久久久久精| 久久久久久久久影视| 黑人巨大精品| 精品福利在线导航| 制服丨自拍丨欧美丨动漫丨| 一区二区精品| 99精品国产一区二区| 91在线网址| 黑人巨大精品欧美一区二区三区| 九九九九九国产| 校花撩起jk露出白色内裤国产精品| 日韩在线播放av| 日韩在线视频不卡| 成人黄页在线观看| 国产成人三级视频| 怡红院成人在线| 亚洲精品97久久| 午夜少妇久久久久久久久| 免费在线看成人av| 久久精品二区| 99爱在线视频| 日韩欧美精品在线| 蜜桃av.com| 日本不卡一二三区黄网| 久久资源亚洲| 超碰在线公开| 亚洲国产精品电影| 麻豆一区二区三区精品视频| 国产一级精品在线| 一区二区三区四区免费视频| av免费在线一区| 亚洲欧美日韩网| 五月婷婷开心网| 成人av在线播放网址| 一本色道久久88亚洲精品综合| 成人在线免费av| 亚洲天堂av在线免费观看| 99热只有这里有精品| 97精品国产露脸对白| 91黄色在线看| 极品国产人妖chinesets亚洲人妖 激情亚洲另类图片区小说区 | 国产高中女学生第一次| 亚洲免费视频中文字幕| 中文av字幕在线观看| 99国产精品一区二区| 91精品免费看| 超碰免费在线播放| 日韩精品中文字幕在线不卡尤物| 91在线播放观看| 国产传媒久久文化传媒| 成人国产在线看| 成人直播在线观看| 91大神在线播放精品| 欧美91精品久久久久国产性生爱| 粉嫩老牛aⅴ一区二区三区| av直播在线观看| 美女被久久久| 一级二级三级欧美| 久久久久毛片免费观看| 精品综合久久久久久97| 欧美视频一二区| 欧美视频一区二区三区…| 色综合99久久久无码国产精品| 蜜桃av一区二区| 欧美日韩一区二区三区电影| 在线视频亚洲欧美中文| 7777kkkk成人观看| 蜜桃视频在线播放| 欧美精品高清视频| 91精品国产高清一区二区三蜜臀| 成人av第一页| 黄色国产小视频| 91免费精品| 国产乱码精品一区二区三区中文| 三上悠亚一区二区| 久久好看免费视频| 天堂中文在线观看视频| 欧美在线不卡视频| 美女福利视频在线观看| 久久婷婷国产综合国色天香 | 国产精品自拍av| 97xxxxx| 亚洲xxx拳头交| 精品一区二区久久久久久久网站| av成人免费| 欧美激情一级欧美精品| 国产有码在线| 欧美不卡在线视频| 中文字幕资源网| 亚洲成人精品一区二区| 很污很黄的网站| www久久精品| 亚洲第一天堂久久| 午夜宅男久久久| 99久久久无码国产精品性色戒| 麻豆一区二区| 92裸体在线视频网站| 国模套图日韩精品一区二区| 久久99久国产精品黄毛片入口| 欧美另类自拍| 精品国产污网站| 91麻豆成人精品国产免费网站| 姬川优奈aav一区二区| 三级黄色在线观看| 久久免费看少妇高潮| 国产性猛交96| 国产在线一区观看| 久久九九国产视频| 日韩午夜在线电影| 日韩人妻精品一区二区三区| 狠狠色狠狠色综合婷婷tag| 国产成人精品日本亚洲11| 婷婷激情成人| 国产精品吊钟奶在线| 密臀av在线播放| 欧美激情区在线播放| 日本黄色片在线观看| 亚洲欧美一区二区三区久久| 天天射天天操天天干| 日韩一级片在线观看| 91精品视频免费在线观看| 在线视频综合导航| 中文字幕第四页| 激情懂色av一区av二区av| 久久久精品99| 亚洲综合在线免费观看| 欧美 日韩 国产 一区二区三区| 中文字幕欧美区| 中文字幕第24页| 国产午夜亚洲精品理论片色戒 | 欧美女优在线视频| 韩国一区二区三区美女美女秀 | 国产一级精品在线| 国产女同无遮挡互慰高潮91| 久久精品国产免费| 午夜久久久精品| 秋霞影院一区二区| 亚洲综合日韩欧美| 男人的j进女人的j一区| 邪恶网站在线观看| 看片的网站亚洲| 污污网站在线观看视频| 激情国产一区二区| 特级西西444www| 国产九九视频一区二区三区| 国偷自产av一区二区三区麻豆| 国产高清不卡一区| 欧美一级大片免费看| 成人av免费在线播放| 黑丝av在线播放| 久久综合九色综合欧美就去吻| 亚洲乱码国产乱码精品精大量| 91美女在线观看| 黄色aaa视频| 国产精品免费人成网站| 992在线观看| 一区二区在线观看免费| 久久久久久久久久91| 图片区小说区区亚洲影院| 91丝袜一区二区三区| 欧美三区在线观看| 国产精品久久久久久久免费| 欧美成人vr18sexvr| 亚洲 欧美 激情 小说 另类| 亚洲视频在线观看网站| 调教视频免费在线观看| 欧美另类69精品久久久久9999| free性护士videos欧美| 国产97在线播放| 亚洲综合资源| 精品无码久久久久久久动漫| 精品盗摄女厕tp美女嘘嘘| 在线观看三级网站| 亚洲免费成人| 在线观看免费污视频| 国产v综合v亚洲欧| 成人免费无遮挡无码黄漫视频| 国产精品第13页| 日本一二三区视频| 欧美婷婷六月丁香综合色| a在线观看视频| 精品亚洲va在线va天堂资源站| 91在线看片| 久久久久久久一| 78精品国产综合久久香蕉| 国产精品久久久久久久久久直播 | 97精品资源在线观看| 国产日韩欧美精品| 日韩中文在线电影| 亚洲欧洲日产国码无码久久99| 久久福利资源站| 玖玖爱在线精品视频| 国产精品成人一区二区三区夜夜夜| 日本网站免费观看| 欧美精品一二三| 日本在线一二三| 欧美激情第1页| 国产精品久久乐| 精品日本一区二区三区| 亚洲久久久久| 8x8x最新地址| 久久综合久久鬼色中文字| 久久久久无码精品国产| 欧美日韩国产综合一区二区 | 欧美爱爱视频免费看| 国产自产视频一区二区三区| 丰满圆润老女人hd| 亚洲国产成人tv| 国产欧美熟妇另类久久久| 亚洲欧美国内爽妇网| 丰满大乳少妇在线观看网站| 91手机视频在线观看| 精品久久不卡| 日韩网址在线观看| 成人99免费视频| 国产一区二区播放| 制服丝袜av成人在线看| 亚洲s色大片| 国产精品91免费在线| 天堂成人娱乐在线视频免费播放网站| 欧美 亚洲 视频| 韩国三级电影一区二区| www中文在线| 欧美日韩在线一区二区| 猫咪在线永久网站| 欧美夜福利tv在线| 欧美成人一区在线观看| 日韩欧美不卡在线| 成人黄色av电影| 久久综合激情网| 精品久久国产字幕高潮| 羞羞视频在线观看免费| 91午夜理伦私人影院| 一区二区在线影院| 黄色片子免费看| 一区二区三区中文免费| 精品人妻一区二区三区含羞草 | 亚洲精品在线不卡| 日韩电影毛片| 欧美精品成人一区二区在线观看| 亚洲在线一区| 干b视频在线观看| 欧美性大战久久久| 日本在线观看免费| 国产日韩精品在线播放| 亚洲成人日韩| 午夜性福利视频| 婷婷中文字幕一区三区| 偷拍自拍在线| 136fldh精品导航福利| 天天躁日日躁狠狠躁欧美巨大小说 | 亚洲va国产va天堂va久久| 午夜精品久久久久99热蜜桃导演| 中文字幕人妻熟女人妻a片| 亚洲成人av一区二区| 日本免费一区二区三区最新| 热久久免费视频精品| 成人羞羞视频在线看网址| 手机在线国产视频| 一区二区在线观看视频在线观看| 日韩永久免费视频| 日本亚洲欧洲色| 国产精品99久久精品| 俄罗斯女人裸体性做爰| 精品毛片网大全| 精彩国产在线| 成人做爽爽免费视频| 亚洲网站视频| 国产美女精品久久| 欧美日韩午夜精品| 日本欧美电影在线观看| 久久99精品国产一区二区三区| 日韩激情av在线| caoporn91| 精品无人区乱码1区2区3区在线| 丰满少妇一区| 日本手机在线视频| 欧美激情一区二区三区全黄| 999精品国产| 欧美专区国产专区| 99久久久国产精品美女| 污污内射在线观看一区二区少妇| 日本国产一区二区| 国产在线观看a视频| 欧美xxxx黑人又粗又长密月| 狠狠色综合日日| 999这里只有精品| 成年无码av片在线| 国产精品最新| 久久黄色一级视频| 欧美亚洲一区二区在线观看| 青草在线视频|