日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

JavaPoet

發(fā)布時(shí)間:2024/9/27 java 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaPoet 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

  • 簡(jiǎn)介
  • 引入
  • 簡(jiǎn)單范例
  • JavaPoet的常用類
  • 占位符
    • $L for Literals
    • $S for Strings
    • $T for Types
    • $N for Names
  • 參數(shù)
    • 相對(duì)參數(shù)
    • 位置參數(shù)
    • 名字參數(shù)
  • 使用詳解
    • 抽象方法
    • 生成構(gòu)造方法
    • 方法參數(shù)
    • 類變量
    • 接口
    • 枚舉
    • 匿名內(nèi)部類
    • 注解
    • Javadoc

簡(jiǎn)介

JavaPoet是一款可以自動(dòng)生成Java文件的第三方依賴。JavaPoet是JavaWriter的繼承者。新項(xiàng)目應(yīng)該首選JavaPoet,因?yàn)樗幸粋€(gè)更強(qiáng)大的代碼模型:它能理解類型并能自動(dòng)管理導(dǎo)入。JavaPoet也更適合于組合:與其將一個(gè).java文件的內(nèi)容自上而下地一次性流傳,不如將一個(gè)文件組裝成一棵聲明樹。

引入

這里介紹兩種項(xiàng)目中的引入方式
在maven項(xiàng)目中的引入方式:在pom.xml中添加

<dependency><groupId>com.squareup</groupId><artifactId>javapoet</artifactId><version>1.13.0</version> </dependency>

在Android項(xiàng)目中的引入方式:在需要使用Javapoet的gradle中添加

compile 'com.squareup:javapoet:1.13.0'

其它Java語(yǔ)言的項(xiàng)目中應(yīng)該也是在相關(guān)配置文件中引入就行

簡(jiǎn)單范例

我們可以使用javapoet生成以下代碼

package com.example.helloJavaPoet; import java.lang.String; import java.lang.System; public final class HelloJavaPoet {public static void main(String[] args) {System.out.println("Hello, JavaPoet!");} }

使用以下代碼可以生成上述代碼

import com.squareup.javapoet.JavaFile; import com.squareup.javapoet.MethodSpec; import com.squareup.javapoet.TypeSpec; import javax.lang.model.element.Modifier; import java.io.File; import java.io.FileWriter; import java.io.IOException;public class HelloWorld {public static void main(String[] args) {// 給類添加一個(gè)方法MethodSpec main = MethodSpec.methodBuilder("main").addModifiers(Modifier.PUBLIC, Modifier.STATIC).returns(void.class).addParameter(String[].class, "args").addStatement("$T.out.println($S)", System.class, "Hello, JavaPoet!").build();// TypeSpec 代表一個(gè)類TypeSpec helloWorld = TypeSpec.classBuilder("HelloJavaPoet").addModifiers(Modifier.PUBLIC, Modifier.FINAL).addMethod(main).build();// JavaFile 代表 Java 文件JavaFile javaFile = JavaFile.builder("com.example.helloJavaPoet", helloWorld).build();File outFile = new File("com/example/helloJavaPoet.java");if(!outFile.getParentFile().exists()) {outFile.getParentFile().mkdirs();}if (!outFile.exists()) {try {outFile.createNewFile();} catch (IOException e) {e.printStackTrace();}}FileWriter writer;try {writer = new FileWriter(outFile.getAbsolutePath());writer.write("");//清空原文件內(nèi)容writer.write(javaFile.toString());writer.flush();writer.close();} catch (IOException e) {e.printStackTrace();}} }


因?yàn)椴皇窃诎沧宽?xiàng)目中實(shí)現(xiàn)的,所以生成文件上復(fù)雜了點(diǎn),用了File和FileWriter

JavaPoet的常用類

JavaFile————用于生成的Java文件的類
TypeSpec————用于生成類、接口、枚舉對(duì)象的類
MethodSpec————用于生成方法的類
ParameterSpec————用于生成參數(shù)的類
AnnotationSpec————用于生成注解的類
FieldSpec————用于生成變量的類
ClassName————通過包名和類名生成的對(duì)象,在JavaPoet中相當(dāng)于為其指定Class
ParameterizedTypeName————通過MainClass和IncludeClass生成包含泛型的Class

占位符

$L for Literals

$L指的是沒有轉(zhuǎn)義的字面值,可以是字符串、基本數(shù)據(jù)類型、類型聲明、注解甚至其他代碼塊的占位符,就像Formatter的%s。
上面的代碼中,將$S換成$L就會(huì)不會(huì)轉(zhuǎn)換成字符串(就是不加引號(hào)),直接以字面量代替

$S for Strings

$S指的是可以帶著引號(hào)和轉(zhuǎn)義的字符串的占位符。
(這里和上面的轉(zhuǎn)義還沒弄的很懂,官方文檔中也只是給了引號(hào)的例子)

$T for Types

$T指的是數(shù)組類型的占位符,它不僅支持內(nèi)置類型,還包括自動(dòng)生成import語(yǔ)句。

例如:
用這個(gè)

MethodSpec today = MethodSpec.methodBuilder("today").returns(Date.class).addStatement("return new $T()", Date.class).build();TypeSpec helloWorld = TypeSpec.classBuilder("HelloWorld").addModifiers(Modifier.PUBLIC, Modifier.FINAL).addMethod(today).build();JavaFile javaFile = JavaFile.builder("com.example.helloworld", helloWorld).build();javaFile.writeTo(System.out);

生成這個(gè)

package com.example.helloworld;import java.util.Date;public final class HelloWorld {Date today() {return new Date();} }

$N for Names

指的是一個(gè)名稱的占位符,例如調(diào)用的方法名稱,變量名稱(可以是自動(dòng)生成的方法和變量)。

例如:
用這個(gè)代碼

MethodSpec hexDigit = MethodSpec.methodBuilder("hexDigit").addParameter(int.class, "i").returns(char.class).addStatement("return (char) (i < 10 ? i + '0' : i - 10 + 'a')").build();MethodSpec byteToHex = MethodSpec.methodBuilder("byteToHex").addParameter(int.class, "b").returns(String.class).addStatement("char[] result = new char[2]").addStatement("result[0] = $N((b >>> 4) & 0xf)", hexDigit).addStatement("result[1] = $N(b & 0xf)", hexDigit).addStatement("return new String(result)").build();

生成

public String byteToHex(int b) {char[] result = new char[2];result[0] = hexDigit((b >>> 4) & 0xf);result[1] = hexDigit(b & 0xf);return new String(result); }public char hexDigit(int i) {return (char) (i < 10 ? i + '0' : i - 10 + 'a'); }

參數(shù)

相對(duì)參數(shù)

CodeBlock.builder().add("I ate $L $L", 3, "tacos").build()

生成字符串

I ate 3 tacos

位置參數(shù)

CodeBlock.builder().add("I ate $2L $1L", "tacos", 3).build()

生成字符串同上

名字參數(shù)

使用語(yǔ)法$argumentName:X,其中X是上述占位符中的字母,用包含格式字符串中所有參數(shù)鍵的映射調(diào)用CodeBlock.addNamed()。參數(shù)名使用a-z、A-Z、0-9和_中的字符,并且必須以小寫字符開始。

Map<String, Object> map = new LinkedHashMap<>(); map.put("food", "tacos"); map.put("count", 3); CodeBlock.builder().addNamed("I ate $count:L $food:L", map)

生成字符串同上

使用詳解

抽象方法

使用Modifiers.ABSTRACT可以用來(lái)獲得一個(gè)沒有任何主體的方法。當(dāng)這只有在類是抽象類或接口時(shí)才合法。

MethodSpec flux = MethodSpec.methodBuilder("flux").addModifiers(Modifier.ABSTRACT, Modifier.PROTECTED).build();TypeSpec helloWorld = TypeSpec.classBuilder("HelloWorld").addModifiers(Modifier.PUBLIC, Modifier.ABSTRACT).addMethod(flux).build();

生成代碼

public abstract class HelloWorld {protected abstract void flux(); }

生成構(gòu)造方法

普通方法用的是 MethodSpec.methodBuilder(方法名) 生成,構(gòu)造方法是用MethodSpec.constructorBuilder()生成

MethodSpec flux = MethodSpec.constructorBuilder().addModifiers(Modifier.PUBLIC).addParameter(String.class, "greeting").addStatement("this.$N = $N", "greeting", "greeting").build();TypeSpec helloWorld = TypeSpec.classBuilder("HelloWorld").addModifiers(Modifier.PUBLIC).addField(String.class, "greeting", Modifier.PRIVATE, Modifier.FINAL).addMethod(flux).build();

生成代碼:

public class HelloWorld {private final String greeting;public HelloWorld(String greeting) {this.greeting = greeting;} }

方法參數(shù)

用 ParameterSpec.builder() 或 ==MethodSpec的addParameter() ==在方法和構(gòu)造函數(shù)上聲明參數(shù)。

ParameterSpec android = ParameterSpec.builder(String.class, "android").addModifiers(Modifier.FINAL).build();MethodSpec welcomeOverlords = MethodSpec.methodBuilder("welcomeOverlords").addParameter(android).addParameter(String.class, "robot", Modifier.FINAL).build(); void welcomeOverlords(final String android, final String robot) { }

類變量

變量的生成和方法參數(shù)也是一樣的。用 FieldSpec.builder() 或 TypeSpec的addField()。這里不做解釋。

接口

JavaPoet生成接口,接口方法必須始終是PUBLIC ABSTRACT,接口字段必須始終是PUBLIC STATIC FINAL。這些修飾語(yǔ)在定義接口時(shí)是必要的

TypeSpec helloWorld = TypeSpec.interfaceBuilder("HelloWorld").addModifiers(Modifier.PUBLIC).addField(FieldSpec.builder(String.class, "ONLY_THING_THAT_IS_CONSTANT").addModifiers(Modifier.PUBLIC, Modifier.STATIC, Modifier.FINAL).initializer("$S", "change").build()).addMethod(MethodSpec.methodBuilder("beep").addModifiers(Modifier.PUBLIC, Modifier.ABSTRACT).build()).build();

但這些修飾語(yǔ)在代碼生成時(shí)被省略了。這些都是默認(rèn)的,所以我們不需要為了javac而包含它們!

public interface HelloWorld {String ONLY_THING_THAT_IS_CONSTANT = "change";void beep(); }

枚舉

使用enumBuilder來(lái)創(chuàng)建枚舉類型,并用 EnumConstant() 添加值。

TypeSpec helloWorld = TypeSpec.enumBuilder("Roshambo").addModifiers(Modifier.PUBLIC).addEnumConstant("ROCK").addEnumConstant("SCISSORS").addEnumConstant("PAPER").build();

生成:

public enum Roshambo {ROCK,SCISSORS,PAPER }

此外,javapoet支持花式枚舉,其中枚舉值覆蓋方法或調(diào)用超類構(gòu)造函數(shù)。這里有一個(gè)全面的例子

TypeSpec helloWorld = TypeSpec.enumBuilder("Roshambo").addModifiers(Modifier.PUBLIC).addEnumConstant("ROCK", TypeSpec.anonymousClassBuilder("$S", "fist").addMethod(MethodSpec.methodBuilder("toString").addAnnotation(Override.class).addModifiers(Modifier.PUBLIC).addStatement("return $S", "avalanche!").returns(String.class).build()).build()).addEnumConstant("SCISSORS", TypeSpec.anonymousClassBuilder("$S", "peace").build()).addEnumConstant("PAPER", TypeSpec.anonymousClassBuilder("$S", "flat").build()).addField(String.class, "handsign", Modifier.PRIVATE, Modifier.FINAL).addMethod(MethodSpec.constructorBuilder().addParameter(String.class, "handsign").addStatement("this.$N = $N", "handsign", "handsign").build()).build();

生成代碼:

public enum Roshambo {ROCK("fist") {@Overridepublic String toString() {return "avalanche!";}},SCISSORS("peace"),PAPER("flat");private final String handsign;Roshambo(String handsign) {this.handsign = handsign;} }

匿名內(nèi)部類

在枚舉的代碼中,我們使用了TypeSpec.anonymousInnerClass()。匿名內(nèi)部類也可以在代碼塊中使用。它們是可以用$L引用的值

例子:

TypeSpec comparator = TypeSpec.anonymousClassBuilder("").addSuperinterface(ParameterizedTypeName.get(Comparator.class, String.class)).addMethod(MethodSpec.methodBuilder("compare").addAnnotation(Override.class).addModifiers(Modifier.PUBLIC).addParameter(String.class, "a").addParameter(String.class, "b").returns(int.class).addStatement("return $N.length() - $N.length()", "a", "b").build()).build();TypeSpec helloWorld = TypeSpec.classBuilder("HelloWorld").addMethod(MethodSpec.methodBuilder("sortByLength").addParameter(ParameterizedTypeName.get(List.class, String.class), "strings").addStatement("$T.sort($N, $L)", Collections.class, "strings", comparator).build()).build();

生成的代碼:

void sortByLength(List<String> strings) {Collections.sort(strings, new Comparator<String>() {@Overridepublic int compare(String a, String b) {return a.length() - b.length();}}); }

定義匿名內(nèi)類的一個(gè)特別棘手的部分是給超類構(gòu)造函數(shù)的參數(shù)。在上面的代碼中,我們傳遞的是空字符串,沒有參數(shù):TypeSpec.anonymousClassBuilder("")。要傳遞不同的參數(shù),請(qǐng)使用JavaPoet的代碼塊語(yǔ)法,用逗號(hào)來(lái)分隔參數(shù)。

注解

用 addAnnotation() 生成注解

例如:

MethodSpec toString = MethodSpec.methodBuilder("toString").addAnnotation(Override.class).returns(String.class).addModifiers(Modifier.PUBLIC).addStatement("return $S", "Hoverboard").build();

生成代碼

@Overridepublic String toString() {return "Hoverboard";}

使用AnnotationSpec.builder()來(lái)設(shè)置注釋的屬性。

MethodSpec logRecord = MethodSpec.methodBuilder("recordEvent").addModifiers(Modifier.PUBLIC, Modifier.ABSTRACT).addAnnotation(AnnotationSpec.builder(Headers.class).addMember("accept", "$S", "application/json; charset=utf-8").addMember("userAgent", "$S", "Square Cash").build()).addParameter(LogRecord.class, "logRecord").returns(LogReceipt.class).build();

生成代碼

@Headers(accept = "application/json; charset=utf-8",userAgent = "Square Cash" ) LogReceipt recordEvent(LogRecord logRecord);

此外,注解的值可以是注解。使用$L進(jìn)行嵌入式注解。

MethodSpec logRecord = MethodSpec.methodBuilder("recordEvent").addModifiers(Modifier.PUBLIC, Modifier.ABSTRACT).addAnnotation(AnnotationSpec.builder(HeaderList.class).addMember("value", "$L", AnnotationSpec.builder(Header.class).addMember("name", "$S", "Accept").addMember("value", "$S", "application/json; charset=utf-8").build()).addMember("value", "$L", AnnotationSpec.builder(Header.class).addMember("name", "$S", "User-Agent").addMember("value", "$S", "Square Cash").build()).build()).addParameter(LogRecord.class, "logRecord").returns(LogReceipt.class).build(); @HeaderList({@Header(name = "Accept", value = "application/json; charset=utf-8"),@Header(name = "User-Agent", value = "Square Cash") }) LogReceipt recordEvent(LogRecord logRecord);

注意,你可以用同一個(gè)屬性名稱多次調(diào)用addMember()來(lái)為該屬性填充一個(gè)值的列表。

Javadoc

字段、方法和類型可以用Javadoc進(jìn)行記錄

MethodSpec dismiss = MethodSpec.methodBuilder("dismiss").addJavadoc("Hides {@code message} from the caller's history. Other\n"+ "participants in the conversation will continue to see the\n"+ "message in their own history unless they also delete it.\n").addJavadoc("\n").addJavadoc("<p>Use {@link #delete($T)} to delete the entire\n"+ "conversation for all participants.\n", Conversation.class).addModifiers(Modifier.PUBLIC, Modifier.ABSTRACT).addParameter(Message.class, "message").build(); /*** Hides {@code message} from the caller's history. Other* participants in the conversation will continue to see the* message in their own history unless they also delete it.** <p>Use {@link #delete(Conversation)} to delete the entire* conversation for all participants.*/void dismiss(Message message);

總結(jié)

以上是生活随笔為你收集整理的JavaPoet的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

在线看黄色的网站 | 日韩电影在线看 | 日韩av中文在线 | 亚洲一区av | 三级av黄色 | 精品国产一区二区三区四区在线观看 | 911国产精品 | 2018亚洲男人天堂 | 国产精品一区专区欧美日韩 | 精品国内自产拍在线观看视频 | 久久黄色小说 | 永久免费毛片在线观看 | 成 人 黄 色视频免费播放 | 三三级黄色片之日韩 | 久久久午夜精品福利内容 | 亚洲国产精品一区二区久久hs | 五月天婷婷狠狠 | 久久久久久中文字幕 | 992tv在线成人免费观看 | 国产高清精品在线 | 人人干干人人 | 片网址| 天天看天天操 | 日韩电影在线观看中文字幕 | 久草精品视频 | 成人禁用看黄a在线 | 91福利视频一区 | 中文字幕在线观看2018 | www五月天婷婷 | 久久成人精品电影 | 九九热在线观看视频 | 五月婷婷一级片 | 欧洲视频一区 | 久久久久久久久久毛片 | 久久露脸国产精品 | 国产一二三在线视频 | 免费在线观看一区 | 伊人狠狠色 | 亚洲精品白浆高清久久久久久 | 四虎永久网站 | 欧美资源 | 成年人视频在线免费 | 激情丁香综合五月 | 91成人免费看片 | 欧美日韩国产区 | av在线看片 | 麻豆国产精品永久免费视频 | av最新资源 | 国产精品自产拍在线观看网站 | a天堂最新版中文在线地址 久久99久久精品国产 | 欧美精品xxx | 黄色动态图xx | 麻豆成人精品视频 | 超碰av在线播放 | 天天色图 | av在线观| 亚洲精品字幕在线观看 | 激情视频在线观看网址 | 国产原厂视频在线观看 | 在线a亚洲视频播放在线观看 | 最新高清无码专区 | 国产精品久久久久9999 | 成人97视频一区二区 | www..com毛片 | 国产亚洲在线视频 | 香蕉视频亚洲 | 91精品在线播放 | 成片免费观看视频大全 | 91热精品 | 在线看中文字幕 | 中文超碰字幕 | 又黄又爽又湿又无遮挡的在线视频 | 久草在线免费播放 | 超碰在线成人 | 在线观看国产永久免费视频 | 亚洲激情视频在线 | 蜜臀91丨九色丨蝌蚪老版 | 99视频在线观看一区三区 | 中文字幕视频播放 | 久久精品成人热国产成 | 亚洲热久久 | 国产九九在线 | 久久精品xxx | 久久午夜电影 | 成人免费网站在线观看 | 久草久草久草久草 | 一区二区三区四区精品 | 国产亚洲精品久久19p | 色视频网站在线观看一=区 a视频免费在线观看 | 香蕉视频久久 | 色视频网站在线 | 婷婷五月在线视频 | 伊人开心激情 | 激情综合网五月激情 | 亚洲经典视频 | 黄色免费视频在线观看 | 中文字幕在线一区二区三区 | 国产精品破处视频 | 国内精品久久久久久 | 在线免费观看欧美日韩 | 国产精品久久久久av免费 | 天天综合精品 | 中文字幕日韩在线播放 | 精品福利视频在线观看 | 亚洲成a人片在线观看网站口工 | 日韩高清在线不卡 | 国产黄色片免费 | 免费污片 | 一本一本久久a久久精品综合妖精 | 久久综合九九 | 五月婷婷在线观看 | avav片| 96精品高清视频在线观看软件特色 | 欧美国产91| 久久精品视频免费 | 亚洲码国产日韩欧美高潮在线播放 | 欧美国产一区在线 | 91麻豆视频网站 | 国产一级淫片免费看 | 欧美日韩破处 | 又黄又爽又色无遮挡免费 | www.色婷婷.com| 久久高清免费视频 | 久草在线视频网 | 日韩四虎 | 久久精品一区 | 欧美日韩中文在线观看 | 亚洲九九九在线观看 | 精品国产一区二区三区久久久 | 国产成人av电影 | 91香蕉视频黄 | 国产在线观看污片 | 91一区二区三区久久久久国产乱 | av免费网页 | 亚洲精品电影在线 | 91av电影在线观看 | 天天射天天艹 | 97超级碰碰碰视频在线观看 | 最新一区二区三区 | 国产精品日韩久久久久 | 精品久久久久_ | 97av精品| 少妇精品久久久一区二区免费 | 国产福利电影网址 | 奇人奇案qvod| 九九视频网站 | 免费毛片一区二区三区久久久 | 中文字幕在线播放一区二区 | 综合久久久久久久久 | 欧美日韩裸体免费视频 | 亚洲无人区小视频 | 99久久日韩精品免费热麻豆美女 | 91av在线播放视频 | 久久超碰网 | 激情久久影院 | 91人人揉日日捏人人看 | 婷婷色五 | 狠狠色噜噜狠狠狠狠2021天天 | 亚洲色图27p | 国产视频2021 | 永久免费的啪啪网站免费观看浪潮 | 在线精品视频免费播放 | 91人人网| 99re国产视频 | 国产激情久久久 | 亚洲理论在线观看电影 | 亚洲天堂在线观看完整版 | 中国一区二区视频 | a在线观看国产 | 国产精品久久久久久久久久免费 | 综合色婷婷 | 精品视频在线视频 | 91九色porn在线资源 | 国产免费观看视频 | 色视频在线免费观看 | 日韩在线影视 | 国产一区在线视频 | 久久久综合电影 | 不卡电影免费在线播放一区 | 免费视频a | 婷婷av资源 | 亚洲专区中文字幕 | 99久久99久久精品国产片 | 欧美一级日韩三级 | 国产亚洲精品久 | 中国一级片视频 | 在线免费观看黄 | 成年人视频在线免费观看 | 国产精品久久久久久久毛片 | 91九色成人蝌蚪首页 | 久久免费在线 | 最近高清中文在线字幕在线观看 | 国产成人黄色在线 | 96超碰在线 | 成人国产在线 | 国产免费三级在线观看 | 狠狠色综合欧美激情 | 久草9视频| 色综合天天做天天爱 | 国产98色在线 | 日韩 | 亚洲精品福利在线观看 | 在线观看成人一级片 | 黄色a视频免费 | 免费日韩在线 | 日本黄色大片儿 | 国产精品久久久久四虎 | 欧美日韩精| 亚洲欧美999| 国产午夜精品一区二区三区欧美 | 婷婷精品进入 | 国产精品综合久久久久久 | 91污污视频在线观看 | 亚洲精品自在在线观看 | 玖玖玖影院 | 亚洲成人在线免费 | 国产一级在线观看 | 狠狠躁天天躁综合网 | 亚洲黄色成人 | 日韩在线观看视频免费 | 亚洲一级影院 | 香蕉视频在线免费 | 欧美日韩高清一区二区 | 高潮久久久久久 | 我要色综合天天 | 亚洲精品高清视频在线观看 | 十八岁以下禁止观看的1000个网站 | 免费日韩电影 | 欧美一级小视频 | 国模视频一区二区三区 | 91日韩在线 | 一级黄色网址 | 免费能看的av | 欧美一级片免费观看 | 视频国产精品 | 国产专区日韩专区 | 久久免费的精品国产v∧ | 五月综合 | 国产一区二区三区在线免费观看 | 黄色网中文字幕 | 日韩精品免费在线播放 | 午夜国产一区二区三区四区 | 中文字幕第一 | 成人久久国产 | www.亚洲黄色| 免费人成在线观看网站 | 国产精品视频一二三 | 国产精品女人久久久 | 激情av资源 | 成人免费一级片 | 日韩欧美在线视频一区二区 | 在线观看视频黄 | 欧美亚洲免费在线一区 | 成年人在线观看视频免费 | 精品1区二区 | 久久久久久久18 | 国产精品一区二区久久精品 | 色五月激情五月 | 日韩av在线小说 | 色资源二区在线视频 | 探花国产在线 | 欧美视频日韩视频 | 中文字幕欲求不满 | 一区视频在线 | 黄免费网站 | 国产精品美女久久久久久久网站 | 亚洲日本在线一区 | 天天爽夜夜爽人人爽曰av | 又色又爽的网站 | 国模视频一区二区三区 | 在线亚洲小视频 | 天天噜天天色 | 国产黄色片一级三级 | 欧美色精品天天在线观看视频 | 天天综合色天天综合 | 人人澡人 | 国产 日韩 在线 亚洲 字幕 中文 | 日韩高清在线看 | 国产视频一区二区在线观看 | 免费视频一区二区 | 九九视频在线 | 午夜美女av| 久久久久久久久亚洲精品 | 99综合电影在线视频 | 国产精品久久久久久久久免费 | 国产精品theporn | av超碰在线| 亚洲色图色 | 国产精品久久久久久影院 | 欧美一级片 | 久久五月婷婷丁香社区 | 九九视频在线播放 | 激情综合色综合久久综合 | 亚洲免费小视频 | 国产成人综合精品 | 欧美性精品 | 日韩美女免费线视频 | 日韩在线观看一区二区三区 | 麻豆视频免费播放 | 欧美一级免费片 | 日韩欧美在线中文字幕 | 九色精品在线 | 在线观看岛国片 | 亚洲91精品在线观看 | 精品国内自产拍在线观看视频 | 中文资源在线播放 | 国产精品99久久久久久久久久久久 | 波多野结衣视频一区二区 | 四虎在线免费观看 | 天堂中文在线视频 | 午夜精品视频福利 | 国产精品久久久av久久久 | 欧美一区二区三区激情视频 | 国产剧情一区二区在线观看 | 91网站在线视频 | 久久久久久久av | 天天射成人 | 亚洲资源 | 欧美日韩不卡一区二区三区 | 911国产在线观看 | 亚洲精品视频免费在线 | 久精品视频在线观看 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 国产乱对白刺激视频在线观看女王 | 91精品国产一区二区三区 | 欧美性大胆 | 成年人在线看片 | 国产1级视频| 日本高清免费中文字幕 | 欧美综合久久 | 久久视频这里有久久精品视频11 | 成人在线视频在线观看 | 黄网站app在线观看免费视频 | 91日韩在线播放 | 国产免费成人 | 日日碰夜夜爽 | 国产精品久久久久久一区二区 | 一区二区三区免费看 | 成人精品亚洲 | www.色午夜 | 成年人电影免费看 | 久草视频在线播放 | 国产精品久久久久一区二区三区 | 欧美日韩精品在线 | 韩国三级在线一区 | 欧美另类激情 | 91精品婷婷国产综合久久蝌蚪 | 人人玩人人添人人澡超碰 | 99福利影院| 韩国av免费 | 天天狠狠干 | 亚洲乱码精品久久久久 | 国产无套一区二区三区久久 | 黄色影院在线播放 | 亚洲精品影院在线观看 | 亚洲电影在线看 | 91亚洲精品国偷拍自产在线观看 | 91完整版在线观看 | 久久99精品久久久久蜜臀 | 久久图 | 人人舔人人| 一区在线观看视频 | 免费网站看v片在线a | 美女久久视频 | 国产伦精品一区二区三区照片91 | 国产福利91精品一区二区三区 | 日韩在线视频线视频免费网站 | 国产一区在线视频 | 国产专区在线 | 国产日韩欧美自拍 | 97精品在线观看 | 色综合久久久久久中文网 | 九九视频免费观看视频精品 | 天天干天天玩天天操 | 91免费日韩| 在线精品国产 | 在线观看免费高清视频大全追剧 | 波多野结衣视频网址 | 有码中文在线 | 日韩av中文在线观看 | 日韩av一区二区在线 | 久久夜色精品国产欧美乱极品 | 在线观看日韩一区 | 国产麻豆剧果冻传媒视频播放量 | 少妇搡bbbb搡bbb搡忠贞 | 久久任你操 | 人人干人人干人人干 | 一区二区三区精品在线 | 黄色网在线免费观看 | www.午夜色.com | 天堂在线一区二区三区 | 久久久国产精品电影 | 深夜福利视频一区二区 | 久久亚洲综合国产精品99麻豆的功能介绍 | 这里只有精品视频在线观看 | 日韩理论影院 | 亚洲精品一区二区精华 | 综合亚洲视频 | 国内精品久久久久久久影视麻豆 | 九九久久免费 | 天天干天天上 | 国产在线看 | 精品免费久久久久久 | 国产一区二区三区在线 | 久久精品3| 天天操夜夜操天天射 | 国产视频精品在线 | 国产一区二区三区免费观看视频 | 国产资源免费在线观看 | 国产又黄又猛又粗 | 国产成人三级在线 | 999久久久欧美日韩黑人 | 国产伦精品一区二区三区四区视频 | 久久久99精品免费观看乱色 | 免费 在线 中文 日本 | 亚洲专区在线 | 美女黄色网在线播放 | 岛国av在线免费 | 久久理论电影网 | 日韩国产精品毛片 | 亚洲高清91 | 成人av电影网址 | 天天干天天操天天射 | 丁香激情综合久久伊人久久 | 亚洲精品国产精品国 | 日韩精品一区二区三区电影 | 日韩美一区二区三区 | 在线视频观看亚洲 | 日韩一区二区三区在线看 | 黄色片网站大全 | 久久这里只有精品视频99 | 亚洲综合在线观看视频 | 精品一区二区在线观看 | 国产.精品.日韩.另类.中文.在线.播放 | 久久精品99国产 | 在线免费黄色毛片 | 永久免费看av | 久99久精品视频免费观看 | 一级黄色片在线免费观看 | 99电影456麻豆 | 97超碰在线久草超碰在线观看 | 国产精品片 | 日韩欧美一区二区在线播放 | 久久久久一区二区三区 | 狠狠干网站 | 最近免费中文字幕mv在线视频3 | 1024手机基地在线观看 | 国产精品久久久久久久久久99 | 亚洲精品男人天堂 | 亚洲aⅴ一区二区三区 | 免费高清在线观看成人 | 成人午夜在线电影 | 四虎精品成人免费网站 | 久久av不卡 | av片子在线观看 | 久草在线资源观看 | 免费黄色在线网址 | 中文字幕在线免费观看 | 性色av免费在线观看 | 国产中文字幕第一页 | 成人久久免费视频 | 在线一区电影 | 日日夜夜免费精品视频 | 国产精品av久久久久久无 | 国产中文在线观看 | 国产亚洲精品久久久久久移动网络 | 九九九九九国产 | 日本h视频在线观看 | 国产69精品久久久久久 | 免费在线观看一区 | 国语精品视频 | 在线国产91| www免费在线观看 | 日韩不卡高清视频 | 精品自拍av| 91日韩在线| 伊人五月天综合 | 亚洲综合五月 | 超碰在线公开 | 亚洲一区二区三区91 | 中文字幕国产一区二区 | 久草在线视频免费资源观看 | 亚洲国产午夜 | 日韩在线首页 | 激情综合网婷婷 | 国产精品日韩在线播放 | 日韩欧美一区二区三区视频 | 久久久久久久久久久久久影院 | www.夜色.com | 婷婷社区五月天 | 国产成人精品一区二区在线观看 | 青青草久草在线 | 国产精品久久电影网 | 精品在线观看一区二区三区 | 啪啪午夜免费 | 美州a亚洲一视本频v色道 | 国产女人40精品一区毛片视频 | 最近在线中文字幕 | 日韩在线精品一区 | 国产精品18久久久久久久网站 | 激情五月五月婷婷 | 色婷婷www | 国产精品一区二区62 | 国产中文字幕一区二区 | 毛片激情永久免费 | 特级毛片在线 | 最近中文字幕mv免费高清在线 | 精品国产一区二区三区四 | 狠狠色丁香婷婷综合视频 | 久草在线国产 | 91精品国产99久久久久久久 | www.久久爱.cn | 人人爽人人舔 | 欧美日韩一区二区三区视频 | 五月婷婷综 | 亚洲精品日韩在线观看 | 久久精品99国产精品 | 五月婷婷.com | 亚洲精品免费在线视频 | 国产麻豆精品95视频 | 国产一区高清在线观看 | 亚洲免费av在线播放 | 国产精品99蜜臀久久不卡二区 | a v在线观看 | 免费一级毛毛片 | 精品国产乱码久久 | 丰满少妇在线观看资源站 | 国产又粗又猛又黄又爽 | 国产美女视频网站 | 99热国产精品 | 亚洲综合色激情五月 | 久久 精品一区 | 97精品国产97久久久久久久久久久久 | www.夜夜操.com | 亚洲爱av | 少妇搡bbb | 日本三级全黄少妇三2023 | 蜜臀av夜夜澡人人爽人人桃色 | 久久精品在线 | 国产精品丝袜在线 | 在线黄色国产 | 亚州精品成人 | 日韩成人免费电影 | 亚洲国产精品电影在线观看 | a在线播放 | 久久大片网站 | 亚洲精品88欧美一区二区 | 欧美一二三在线 | 成人午夜影院 | 能在线观看的日韩av | 91一区二区三区在线观看 | ,午夜性刺激免费看视频 | 色婷婷免费 | 天天操月月操 | 欧美在线视频二区 | 九九热视频在线免费观看 | 天堂av免费看 | 国产在线资源 | 特级西西444www高清大视频 | 美女视频黄在线观看 | 美女网站在线免费观看 | 久操视频在线播放 | 日韩成人黄色av | 欧美成人手机版 | 最新国产精品久久精品 | 91精品视频免费看 | 草莓视频在线观看免费观看 | 婷婷色综合 | 欧美精品国产综合久久 | 久久久久久久久久免费视频 | 日本天天色| 亚洲国产午夜精品 | av看片网| 国产精品成人自拍 | 久草免费福利在线观看 | 一二三区在线 | 黄色电影小说 | 久久激情视频 | 国产日韩欧美视频在线观看 | 99九九热只有国产精品 | 在线观看国产区 | 日韩欧美高清在线 | 最新一区二区三区 | 久久五月天色综合 | 九九久久成人 | 国产精品激情偷乱一区二区∴ | 久青草视频在线观看 | 亚洲国产午夜视频 | 伊人久操 | av高清在线观看 | 麻豆视频在线免费看 | 日本爽妇网 | 日韩欧美精品在线视频 | 免费欧美 | 在线免费高清视频 | 91最新在线| 91精品亚洲影视在线观看 | 波多野结衣日韩 | 国产精品美女视频网站 | 婷婷草 | 超碰九九| av在线网站大全 | 97视频在线观看网址 | 毛片网站免费 | 97人人模人人爽人人少妇 | 色婷婷国产精品一区在线观看 | av 一区二区三区 | 成人国产网址 | 欧美日视频 | 亚洲国产欧美一区二区三区丁香婷 | 国产麻豆精品在线观看 | 人人爱人人做人人爽 | 亚洲蜜桃av | 波多野结衣电影一区二区 | 六月天综合网 | 国产精品2018 | 人人精久 | 中文字幕在线不卡国产视频 | 国产在线精品一区二区不卡了 | 亚洲视频综合 | 人人cao| 四虎国产精品成人免费影视 | 日韩久久激情 | 欧美午夜性 | 婷婷av网 | 亚洲九九影院 | 狠狠色综合欧美激情 | 人人干人人添 | 五月婷香蕉久色在线看 | 日本精品视频网站 | 在线观看免费成人av | 91麻豆精品国产91久久久久 | 亚洲综合在线五月天 | 久久久高清一区二区三区 | 91资源在线| 成年人毛片在线观看 | 天天干天天做 | 久久国产亚洲精品 | 精品在线一区二区 | 亚洲高清在线视频 | 美女网站色 | 国产精品a久久 | 亚洲精品黄 | 91理论电影 | 欧美日韩国产亚洲乱码字幕 | 国产淫片免费看 | 成人av免费在线观看 | 中文字幕中文中文字幕 | 永久免费毛片 | 国产一区欧美在线 | 黄污视频网站 | 日本精品一区二区在线观看 | 欧洲成人免费 | 国产精品美女久久久免费 | 中文视频在线 | 超碰av在线 | a视频在线观看免费 | 国产麻豆电影在线观看 | 日韩一区二区三区观看 | 久久99欧美 | 久久精品专区 | 婷婷色社区 | 99精品一区二区三区 | 人人艹视频 | 日韩美女久久 | 91精品视频免费观看 | 麻豆影视网 | 国产亚洲欧美一区 | 精品国产伦一区二区三区 | 日日插日日干 | 视频在线在亚洲 | 91精品小视频 | 成人免费视频播放 | 国产精品激情偷乱一区二区∴ | 日韩欧美精品一区二区 | 日韩二区在线播放 | 国产成人一区三区 | 国产精品美女999 | 免费在线观看av片 | 又黄又刺激视频 | 日韩视频在线播放 | 一区二区三区高清 | 丁香六月中文字幕 | 999久久久精品视频 日韩高清www | 日韩专区在线观看 | 国产精品毛片一区二区三区 | 国产高清在线免费视频 | 99在线免费观看 | 91成年人在线观看 | 97人人爽人人 | 欧洲激情在线 | 天天操天天射天天插 | 摸bbb搡bbb搡bbbb| www.色五月 | 成人免费看片98欧美 | 精品国产一区二区三区久久久 | 天堂网在线视频 | 亚洲精品久久久久999中文字幕 | 91麻豆看国产在线紧急地址 | 丝袜+亚洲+另类+欧美+变态 | 久久精品久久久久久久 | 中文字幕中文字幕中文字幕 | 欧美激情第八页 | 一区二区精品在线 | 激情视频在线高清看 | 最新中文字幕 | 亚洲精品久久久久久中文传媒 | 色噜噜日韩精品一区二区三区视频 | 狠狠精品 | 天天干天天上 | 视频在线观看国产 | 97国产电影| 国产一级精品视频 | 欧美福利片在线观看 | 国产不卡在线视频 | 免费又黄又爽的视频 | 日本最新一区二区三区 | 国产亚洲永久域名 | 国产黄色片久久久 | 在线色吧| 久久国产精品免费视频 | 亚洲少妇影院 | 精品国产乱码久久久久久1区二区 | 久久夜色精品国产亚洲aⅴ 91chinesexxx | 成人av中文字幕 | 91精品在线免费视频 | av+在线播放在线播放 | 77国产精品 | 欧美性黄网官网 | 97国产情侣爱久久免费观看 | 久久免费视频6 | 国内精品久久久久久久久久久 | 在线观看视频一区二区三区 | 日韩午夜大片 | 欧美aⅴ在线观看 | 国产麻豆视频在线观看 | 欧美日在线观看 | 特黄色大片 | 婷婷色5月| 看片一区二区三区 | 国产精品一区二区三区在线免费观看 | 丁香花中文在线免费观看 | 久久久久久高潮国产精品视 | 国产精品中文字幕在线 | 欧美日韩午夜在线 | 日韩电影一区二区在线观看 | 在线免费观看黄色av | 片网站| 天天射天天舔天天干 | 国产精品久久一卡二卡 | 国产视频在线一区二区 | 成人久久 | 免费看黄在线网站 | 亚洲美女视频在线 | 国产午夜精品一区二区三区在线观看 | 亚洲不卡av一区二区三区 | 久久国产精品99久久久久久丝袜 | 国产精品第一视频 | 97在线观看视频国产 | 特级黄色片免费看 | av亚洲产国偷v产偷v自拍小说 | 免费看v片| 午夜精品一区二区三区免费视频 | 开心色激情网 | 午夜91视频| 99热在线网站 | 福利视频一区二区 | 操处女逼 | 91精品国产自产在线观看 | 91最新中文字幕 | 国产群p视频 | 97电影网手机版 | 草久视频在线观看 | 国产免费美女 | 免费国产ww | 狠狠色狠狠色综合系列 | 国产精品成人久久久 | 亚洲精品中文字幕在线观看 | 日本久久精品视频 | 国产专区在线看 | 午夜视频免费 | 色婷婷激情五月 | 五月婷婷狠狠 | 天天视频亚洲 | 超碰97人人干 | 色网免费观看 | 九九九热精品免费视频观看 | 精品视频在线免费 | 免费看wwwwwwwwwww的视频 久久久久久99精品 91中文字幕视频 | 色婷婷视频 | 五月开心婷婷网 | 99国产精品 | 久久久久久久久免费 | 超碰人人av | 久久婷婷色综合 | 欧美日韩69 | 日韩av伦理片 | 人成午夜视频 | 日日摸日日碰 | 亚洲视频免费在线 | 粉嫩一区二区三区粉嫩91 | 国产91大片| 中文理论片 | 中文字幕在线电影 | 久久黄色免费观看 | 亚洲色图 校园春色 | 最新中文字幕 | 蜜臀av性久久久久av蜜臀三区 | 99视频黄 | 综合久久婷婷 | 免费看黄在线网站 | 成年人电影免费看 | 最近中文字幕第一页 | 国产一区成人 | 日日夜夜爱 | 国产精品1区2区 | 中文字幕第 | 五月婷婷亚洲 | 成人黄色小说视频 | 日韩在线视频网址 | 成人免费精品 | av在线日韩 | 亚洲精品在线视频网站 | 国产精品夜夜夜一区二区三区尤 | 91高清完整版在线观看 | 99精品视频免费观看视频 | 亚洲自拍偷拍色图 | 91久久偷偷做嫩草影院 | 91亚洲精品视频 | 国产精品字幕 | 国产成人精品综合 | 超碰人在线 | 精品一区二区av | 999视频在线播放 | 亚洲mv大片欧洲mv大片免费 | 亚洲免费在线观看视频 | 亚洲天天摸日日摸天天欢 | 欧日韩在线视频 | 欧美日韩国产mv | 国产精品一区二区在线 | 久久国产成人午夜av影院潦草 | 黄色免费网站 | 久久久久久久久久久久久久av | 婷婷六月天在线 | a级国产乱理伦片在线观看 亚洲3级 | 亚洲色图 校园春色 | 日韩精品不卡在线观看 | 国产精品免费视频网站 | 欧美一二在线 | 日韩av电影国产 | 91视频 - x99av| 国产精品无av码在线观看 | 国产黄网站在线观看 | 人人澡人人添人人爽一区二区 | www.操.com| 蜜桃视频成人在线观看 | 午夜国产福利在线观看 | 日韩伦理片hd | www国产亚洲精品久久网站 | 99这里有精品 | 免费在线日韩 | 欧美日韩国产免费视频 | 成年人看片网站 | 天天干,天天操,天天射 | 国产精品视频免费在线观看 | 欧美国产不卡 | 亚洲精品成人av在线 | 久久久久久久久久久久av | 亚洲成人网在线 | 天天射天天干 | 亚洲国产精品一区二区久久hs | 成人资源网 | 四虎成人免费观看 | 日本精品一区二区三区在线播放视频 | 日本中文字幕电影在线免费观看 | 国产高清无av久久 | 亚洲国产综合在线 | 男女全黄一级一级高潮免费看 | 天天舔天天搞 | 九九久| 黄色avwww | 亚洲首页| 天天操天天射天天舔 | 国产午夜精品理论片在线 | 三上悠亚在线免费 | av一级在线 | 六月丁香婷婷久久 | 狠狠色丁香婷婷综合最新地址 | 一区二区三区四区五区在线 | 国产美女黄网站免费 | av网站在线观看免费 | 国产精品一区二区三区视频免费 | 久久久国产精华液 | 欧美日韩p片 | 国产99色 | 亚洲涩涩涩| 免费在线观看一区二区三区 | 国产精品刺激对白麻豆99 | 国产视频一区二区在线播放 | 久久精品国产一区二区三区 | 久久综合色影院 | 国产精品免费久久久久久久久久中文 | 男女啪啪网站 | 欧美久久久一区二区三区 | 日韩一二区在线观看 | 91久久国产综合精品女同国语 | 国产精选在线 | 99久久综合狠狠综合久久 | 天天操天天操天天操天天操天天操天天操 | 波多野结衣在线观看一区 | 久章草在线观看 | 国产在线观看你懂的 | 色中文字幕在线观看 | 久久综合狠狠综合久久综合88 | 国产精品91一区 | 国产视频一区二区在线 | 99热这里精品 | 国产精品成人品 | 日韩性色 | 亚洲综合在线五月天 | 久久久久免费精品国产 | 日韩乱码在线 | 91av原创 | 国产精品久久久精品 | 久久一区二区三区国产精品 | 精品一二三四视频 | 国产明星视频三级a三级点| 丁香九月婷婷综合 | 日韩最新理论电影 | 日日爱影视 | 国产一区二区精品 | 日韩特级片 | 99热国内精品 | 在线观看av小说 | 免费影视大全推荐 | 久草电影在线 | 久久97超碰| 91看片在线 | 欧美亚洲国产精品久久高清浪潮 | 色偷偷88欧美精品久久久 | 手机色在线 | 日韩精品久久久久 | 欧美视频不卡 | 日日夜夜免费精品 | 久久这里只有精品首页 | 亚洲综合色丁香婷婷六月图片 | 亚洲一级黄色 | 五月天激情在线 | 日日夜夜精品免费观看 | 香蕉在线视频播放网站 | 在线观看深夜视频 | 天天拍夜夜拍 | 欧美精品天堂 | 天天色天天操综合 | 深爱激情开心 | 中文字幕在线中文 | 亚洲播放一区 | 日韩sese | 在线午夜| 在线99| 欧美精品久久99 | 国产在线探花 | 中文字幕在线视频网站 | 黄色免费大片 | 国产黄色免费看 | 日日干干| 五月激情婷婷丁香 | 国产成人精品久久久久蜜臀 | 97国产电影 | 天天操夜夜操 | 国产一线天在线观看 | 狠狠色伊人亚洲综合网站野外 | av一区二区三区在线播放 | 激情综合五月网 | 中文字幕在线看视频国产 | 亚洲精品国产综合久久 | 在线v | www.玖玖玖 | 国产高清日韩欧美 | 啪啪免费视频网站 | 国产精品区一区 | 欧美韩日精品 | 国产中文字幕视频在线观看 | 成在人线av| 视频一区二区国产 | 不卡视频一区二区三区 | 一区二区男女 | 欧美日韩视频在线观看免费 | 日韩高清不卡一区二区三区 | 九九热久久久 | 精品久久久久国产 | 日本精a在线观看 | 亚洲精品一区二区18漫画 | 日韩高清一二区 | 亚洲一级免费电影 | 天天草网站 | 午夜黄网 | 欧美天天综合网 | 日韩av免费观看网站 |