• 技术文章 >java >java基础

    JavaPoet基本用法整理

    小妮浅浅小妮浅浅2021-02-25 09:46:01转载2464

    本教程操作环境:windows7系统、java10版,DELL G3电脑。

    1.准备

    添加依赖:

    dependencies {
        ...
        implementation 'com.squareup:javapoet:1.13.0'
    }

    2.基本使用

    既然是生成java文件,那么需要的基本元素就包括:

    1)创建字段(属性)

    2)创建方法

    3)创建类、接口或枚举

    4)输出文件

    3.实例

    FieldSpec

    FieldSpec就是用来创建字段的类,使用起来很简单:

    FieldSpec.builder(String.class, "android").build()

    以上代码等价于String android;

    如果添加修饰符可以使用addModifiers,例如:

    FieldSpec.builder(String.class, "android")
    .addModifiers(Modifier.PRIVATE, Modifier.FINAL)
    .build()
    // private final String android;

    其中Modifier包括我们用到的所有修饰符,下面介绍的类,方法都是使用它:

    public enum Modifier {
        /** The modifier {@code public} */          PUBLIC,
        /** The modifier {@code protected} */       PROTECTED,
        /** The modifier {@code private} */         PRIVATE,
        /** The modifier {@code abstract} */        ABSTRACT,
        /**
         * The modifier {@code default}
         * @since 1.8
         */
         DEFAULT,
        /** The modifier {@code static} */          STATIC,
        /** The modifier {@code final} */            FINAL,
        /** The modifier {@code transient} */       TRANSIENT,
        /** The modifier {@code volatile} */        VOLATILE,
        /** The modifier {@code synchronized} */    SYNCHRONIZED,
        /** The modifier {@code native} */          NATIVE,
        /** The modifier {@code strictfp} */        STRICTFP;
    }

    如果需要初始化参数,使用initializer,例如:

    FieldSpec.builder(String.class, "android")
    .addModifiers(Modifier.PRIVATE, Modifier.FINAL)
    .initializer("$S", "Android")
    .build()
    // private final String android = "Android";

    以上就是JavaPoet基本用法整理,相信大家已经对它的使用有所了解。当然它创建的元素比较多,这里我们就其中的一种带来介绍,其他的大家可以课后查询资料。

    专题推荐:javapoet
    品易云
    上一篇:this在java中使用构造方法的分析 下一篇:java迭代器的基本概念

    相关文章推荐

    • java多线程中的回调运用• java中异步回调的基本内容• java中的new关键字是什么• java中使用new实例化• new在java中初始化对象• this在java中使用构造方法的分析

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网