首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用lombok的@Builder的注解:Error:java: 无法将类中的构造器应用到给定类型

背景 今天写项目用lombok的@Builder注解,突然就报错咯。 ?...Error:(14, 1) java: 无法将类 xxx 中的构造器 xxx 应用到给定类型; 需要: 没有参数 找到: java.lang.Integer,java.lang.String,java.lang.String...java.lang.String,java.util.Date,java.lang.String,java.util.Date 原因: 实际参数列表和形式参数列表长度不同 解决方案 builder默认用的是全参数构造函数...它的实现方式是会对标注这个注解的类的所有成员变量,所以在使用@Builder构建的时候如果不显式的对某变量赋值的话默认就是null,因为这个变量此时是Builder类里的,通过调用build()方法生成具体...T类则是通过私有构造函数来实例化,默认是全参数的构造函数。

3.7K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    objective-C中的Class(类类型),Selector(选择器SEL),函数指针(IMP)

    今天在园子里看到了一篇牛文“Objective-C 2.0 with Cocoa Foundation--- 5,Class类型,选择器Selector以及函数指针 ”,讲得十分精彩,忍不住把它的代码加上注释整理于此...个人体会:obj-C中的“Class类型变量”比c#中的Object基类还要灵活,可以用它生成任何类型的实例(但是它又不是NSObject)。...而选择器SEL与函数指针IMP,如果非要跟c#扯上关系的话,这二个结合起来,就点类似c#中的反射+委托,可以根据一个方法名称字符串,直接调用方法。...)(id,SEL,NSString*); //定义一个IMP方式的函数指针(obj-C中推荐的方式) IMP say_Func; //定义一个类 Class bullClass; }...类名称" //如果aCattle是Bull或Cattle类的实例 if([cattleParamClassName isEqualToString:BULL_CLASS] || [cattleParamClassName

    1.8K51

    ASP.NET AJAX(6)__Microsoft AJAX Library中的面向对象类型系统命名空间类类——构造函数类——定义方法类——定义属性类——注册类类——抽象类类——继承类——调用父类方

    可重复注册命名空间,每个独立的脚本模块前都要注册命名空间以保证命名空间存在 类 定义构造函数 定义成员(方法、属性、事件) 注册类 类——构造函数 类的构造函数即为function定义 通常用于初始化域变量...function()} 类——定义属性 Microsoft AJAX Library的面向对象类型系统将get_xxx和set_xxx开头的方法认做属性(一种约定) 避免定义只写属性,使用某个方法替代...function(name) {//定义一个构造函数 this...._mymethod=function{throw Error.notImplemented();}}//包含抽象方法 类——继承 调用父类的构造函数 有父类的类必须调用父类的构造函数,否则会丢失继承效果...Employee的三个类 接口 与类的定义方法大致相同 构造函数抛出异常 所有的方法抛出异常(只有方法签名,不提供实现) 注册接口时使用registerInterface方法 接口无法继承其他接口 接口定义

    6.2K50

    Android Room 持久化库

    摘自 Room Persistence Library 使用 Room 在本地保存数据 原文地址 https://developer.android.com/training/data-storage/...DAO 是 Room 的重要组件,他包含了操作数据的抽象方法; DAO可以是一个接口或者抽象类,如果是抽象类的话,它可以有一个构造函数,它将RoomDatabase作为其唯一参数。...要使用此功能,需要将 Room 组中的 android.arch.persistence.room:rxjava2 组件添加到构建Gradle依赖项中,添加组件之后就可以返回 Rxjava2 中的对象...使用SQLite Support Library,它提供了与Android Framework类中的接口相匹配的接口。...例如,我想保存Date类型的实例,我可以编写下面的类型转换器来在数据库中存储等效的Unix时间戳: public class Converters { @TypeConverter public

    4K70

    【Kotlin】:: 双冒号操作符详解 ( 获取类的引用 | 获取对象类型的引用 | 获取函数的引用 | 获取属性的引用 | Java 中的 Class 与 Kotlin 中的 KClass )

    一、:: 双冒号操作符 ---- 在 Kotlin 中 , :: 双冒号操作符 的作用是 获取 类 , 对象 , 函数 , 属性 的 类型对象 引用 ; 获取的这些引用 , 并不常用 , 都是在 Kotlin...反射操作时才会用到 ; 相当于 Java 中的 反射 类的 字节码类型 Class 类型 , 对象的类型 Class 类型 , 对象的函数 Method 类型 , 对象的属性字段 Field 类型 ;...1、获取类的引用 在 Kotlin 中 , 使用 :: 双冒号操作符 获取 类的类型对象引用 代码格式为 : Java或Kotlin类名::class 获取的 Kotlin 类 的 类型对象 的类型...::函数名 获取的 函数类型 引用 , 其类型是函数类型的 , 如下代码中 , 调用 Student::info 获取的函数类型变量 的 类型为 (Student) -> Unit , 该函数引用 可以直接调用...如下代码中 , 使用 Student::name 代码 , 获取 Student 类的 name 属性类型为 KMutableProperty1 , 获取到该 name

    4.8K11

    Android的room数据库使用小结(kotlin)

    首先准备,引入依赖,在app文件夹下的build.gradle中增加: //ROOM数据库 implementation "android.arch.persistence.room:runtime..."android.arch.persistence.room:compiler:1.1.1"的写法需换成kapt "android.arch.persistence.room:compiler:1.1.1...简单的使用: 第一步,在entiy包中增加实体类的定义,每个实体类对应一个表,,类前面加@Entity注解,默认类名就是最终生成的表名,如果不想让一致,可以指定表名(@Entity (tableName...使用主键 : 一个Entry中至少需要一个主键,使用@PrimaryKey来注释. 自增类型的主键,则可以设置 @PrimaryKey 的 autoGenerate 属性。...第三步,添加room数据库并封装个单例操作类, //AppDb.kt package com.xxx.xx.room import android.arch.persistence.room.Database

    3.3K50

    Android Architecture Components Part1:Room

    Entity Entity作用在model上,即我们与数据表中的字段所匹配的model类。...现在我们来建立一个联系人相关的model,对于正常的model建立如下: 1data class ContactsModel(val id: Int, val name: String, val phone...其中@ColumnInfo也可以通过(name = "name")来命名字段名。当然还有别的注释例如外键的标明:@ForeignKey DAO 数据库表建好了,现在是提供操作数据表中的数据的方法。...它接收两个参数,分别为entities与version,前者接收的类型是Class[]数组,内容为对于表的Class;后者是int的数据库版本号。...在第二行代码,细心的你们可能会发现它返回了LiveData类型数据。它是ACC的另一强大组件,这也是Room的另一强大之处,它可以直接返回LiveData数据类型,完美与LiveData结合。

    79920

    room的使用-以demo为例

    } } } entity 当一个类用@Entity注解并且被@Database注解中的entities属性所引用,Room就会在数据库中为那个entity创建一张表。...默认Room会为entity中定义的每一个field都创建一个column。...注解定义实体的列表,类的内容定义从数据库中获取数据的对象(DAO)。它也是底层连接的主要入口。 这个被注解的类是一个继承RoomDatabase的抽象类。...类型转换器 Room内置了原始类型。但是,有时你会希望使用自定义数据类型。 要为自定义类型添加这种支持,可以提供一个TypeConverter,它将一个自定义类转换为Room保留的已知类型。...查询的结果如果是long类型,可以直接返回Date。 数据库的迁移 随着app功能的添加和修改,你需要修改entity类来反应这些变化。

    2.3K30

    【Jetpack】使用 Room 框架访问 Android 平台 SQLite 数据库 ( 导入依赖 | 定义 Entity 实体类 | 定义 Dao 数据库访问对象接口 | 定义数据库实例类 )

    类型 ; /** * 姓名字段 * 数据库表中的列名为 name * 数据库表中的类型为 TEXT 文本类型 */ @ColumnInfo(name..., Room 框架就不会使用该构造方法了 ; 下面的 3 个构造函数中 , Room 框架 使用 constructor(id: Int, name: String, age: Int) 构造函数 ;...开发者 使用 constructor(name: String, age: Int) 和 constructor(id: Int) 构造函数 ; /** * 默认的构造方法给 Room...) var id: Int = 0 /** * 姓名字段 * 数据库表中的列名为 name * 数据库表中的类型为 TEXT 文本类型 */...* 年龄字段 * 数据库表中的列名为 age * 数据库表中的类型为 INTEGER 文本类型 */ @ColumnInfo(name = "age", typeAffinity

    48430

    Kotlin学习笔记

    = null // 不实例化了,开始room就是空的 val room: Room = Room() // 实例化一个room,并且room永远不能为空 val room...因为 JVM 虚拟机只能执行类中的代码,所以 Kotlin 会生成一个名叫 JoinKt 的类,并且顶级函数是静态的,所以可以在 Java 中这样调用顶级函数: JoinKt.joinToString(...class Person { } class className([var/val] property : Type…) 1、会生成一个构造方法,参数就是括号里的那些参数 2、会根据括号的参数生成对应的属性...3、会根据 val 和 var 关键字来生成 setter、getter 方法,var 表示该属性可以修改;val 表示该属性不能被修改 class Person(val name: String)...生成构造函数 public Person(@NotNull String name) { Intrinsics.checkParameterIsNotNull(name, "name"

    1.9K30

    【C++】继承 ⑥ ( 继承中的构造函数和析构函数 | 类型兼容性原则 | 父类指针 指向 子类对象 | 使用 子类对象 为 父类对象 进行初始化 )

    一、public 公有继承 - 示例分析 1、类型兼容性原则 类型兼容性原则 : C++ 的 " 类型兼容性原则 “ 又称为 ” 赋值兼容性原则 " ; 子类代替父类 : 需要 基类 ( 父类 ) 对象的...地方 , 都可以使用 " 公有继承 " 的 派生类 ( 子类 ) 对象 替代 , 该 派生类 ( 子类 ) 得到了 除 构造函数 和 析构函数 之外的 所有 成员变量 和 成员方法 ; 功能完整性 :..." 私有继承 " 的 派生类 , 是 不具有 基类 的 完整功能的 , 因为 最终继承 后的派生类 , 无法在 类外部调用 父类的 公有成员 和 保护成员 ; 2、类型兼容性原则应用场景 " 类型兼容性原则...、类型兼容性原则 - 示例分析 ---- 定义父类 Parent , 子类 Child ; class Parent { public: void funParent() {...cout 类 funParent 函数" << endl; } private: int c; }; // 子类 公有继承 父类 class Child : public

    31020

    【Android从零单排系列四十三】《浅谈Android数据持久化》

    Room Persistence Library:这是一个在Android中抽象和管理SQLite数据库的开发库。它提供了更高层次的抽象,简化了数据库的操作,同时支持基于对象的映射(ORM)。...如果需要存储大量的结构化数据,并且需要复杂的查询和操作,可以选择SQLite数据库或Room Persistence Library。 数据量:数据量也是一个考虑因素。...SQLite数据库适用于处理大规模的数据集,而Room Persistence Library提供了更高层次的抽象,方便管理和操作较大的数据库。...Shared Preferences和文件存储相对较简单易用,适合初学者或小型项目;而SQLite数据库和Room Persistence Library需要学习SQL语法和ORM概念,开发过程可能会更复杂一些...数据库版本控制:如果选择使用SQLite数据库或Room Persistence Library进行数据持久化,应该考虑数据库版本控制。随着应用的升级和迭代,可能会修改数据库结构或添加新的表和字段。

    59721

    Android—Room数据库(介绍)

    Room是什么? Room是一个持久性数据库。 Room持久性库提供了SQLite的抽象层,以便在充分利用SQLite的同时允许流畅的数据库访问。 为什么会选择Room?...1、在app/build.gradle中添加以下依赖 implementation 'android.arch.persistence.room:runtime:1.0.0' annotationProcessor...'android.arch.persistence.room:compiler:1.0.0' 你可以点击这里查看最新依赖版本号 2、创建JavaBean @Entity public class User...= false 注意:除了添加表映射的类以及和数据库版本外,还要添加exportSchema = false否则会报警告。...我们抽象了getUserDao()方法,这是必要的。 5、使用数据库 我们终于能够操作我们的数据库了。但是所有的操作必须在后台线程中完成。

    1.1K50
    领券