草庐IT

mcrypt_generic_init

全部标签

class - Kotlin 中另一个类中的密封类无法编译 : cannot access '<init>' it is private

如果我使用docs中的示例,classSomeActivity:AppCompatActivity(){sealedclassExprdataclassConst(valnumber:Double):Expr()dataclassSum(vale1:Expr,vale2:Expr):Expr()objectNotANumber:Expr()}无法编译,报错:Cannotaccess'',itisprivatein'Expr'.但是,将其移到封闭类之外使其可以编译:sealedclassExprdataclassConst(valnumber:Double):Expr()dataclas

oop - Kotlin - 是否可以在类中的 init block 之前初始化伴随对象?

是否可以在Kotlin类中的initblock之前初始化companionobject?如果是这样,怎么做?如果没有,有没有办法完成同样的事情。我有以下场景,classA(valiname:String){init{foo.add(this)}companionobjectB{@JvmFieldvalSTATIC=A("hi")@JvmFieldvalfoo=mutableListOf()}funprintAllStatics(){for(ainfoo){print(a.iname)}}}调用printAllStatics会导致空指针异常。 最佳答案

oop - Kotlin - 是否可以在类中的 init block 之前初始化伴随对象?

是否可以在Kotlin类中的initblock之前初始化companionobject?如果是这样,怎么做?如果没有,有没有办法完成同样的事情。我有以下场景,classA(valiname:String){init{foo.add(this)}companionobjectB{@JvmFieldvalSTATIC=A("hi")@JvmFieldvalfoo=mutableListOf()}funprintAllStatics(){for(ainfoo){print(a.iname)}}}调用printAllStatics会导致空指针异常。 最佳答案

PHP mongodb 新驱动 slice(init,limit) 嵌套数组

我在MongoDB中有这个集合{"name":"x",password:"x"recipes:[{title:eggs,...},{title:"pizza"...}],name:"y",password:"y"recipes:[...]}我正在使用新的phpmongodriver1.0我是否想要获取用户过滤器的所有食谱。但有一个限制和初始化。例如显示2个食谱,从3º食谱开始:[0,1,2,3,4,5]显示[3,4]我正在尝试这个$recipes=$db->users->find([],["projection"=>['recipes'=>['$slice'=>[3,2]]]]);但不

java.lang.NoSuchMethodError : com. mongodb.MongoClient.<init>(Ljava/util/List;Lcom/mongodb/MongoCredential;Lcom/mongodb/MongoClientOptions;)V]

尝试从我的QA环境访问mongodb时显示以下错误。java.lang.NoSuchMethodError:com.mongodb.MongoClient.(Ljava/util/List;Lcom/mongodb/MongoCredential;Lcom/mongodb/MongoClientOptions;)V]我的本​​地环境也是如此。我使用的mongo驱动是3.6.2,java版本是1.8。请帮忙 最佳答案 当我更新到3.8.0版时,它起作用了。我的问题是因为我更新了SpringDataMongo而忘记更新Mongo驱动程序

generics - Kotlin 具体化的泛型不会按计划保持类型

我正在创建一个TypeToken-类似于Gson的系统,我偶然发现了一些我不理解的东西。此代码的目的是只有一个TypeReference具有一个通用参数的类,该参数可以包含多个参数。该类将使用inline创建。函数,这样用户就不需要知道Holder类。请考虑以下代码:packagetestingimportjava.lang.reflect.ParameterizedTypeimportjava.lang.reflect.TypeabstractclassTypeReference{valtype:Type=(javaClass.genericSuperclassasParameter

generics - Kotlin 具体化的泛型不会按计划保持类型

我正在创建一个TypeToken-类似于Gson的系统,我偶然发现了一些我不理解的东西。此代码的目的是只有一个TypeReference具有一个通用参数的类,该参数可以包含多个参数。该类将使用inline创建。函数,这样用户就不需要知道Holder类。请考虑以下代码:packagetestingimportjava.lang.reflect.ParameterizedTypeimportjava.lang.reflect.TypeabstractclassTypeReference{valtype:Type=(javaClass.genericSuperclassasParameter

generics - 使用泛型获取列表类,例如:List<Number>::class

我有一个通用类型的类Builder接受构造函数参数Class所以我可以保留类型。这是我在java代码中经常使用的一个类,所以我不想更改签名。当我尝试像这样使用构造函数时:Builder>(List::class)我收到一个错误:“类文字的左侧只允许使用类”有什么办法解决这个问题吗?我无法更改Builder的构造函数,太多的java类依赖它。我了解整个类型删除问题,我真的只是想让编译器开心。 最佳答案 由于generictypeerasureList类对其所有通用实例都有一个实现。只能得到List对应的类类型,因此只创建Builder

generics - 使用泛型获取列表类,例如:List<Number>::class

我有一个通用类型的类Builder接受构造函数参数Class所以我可以保留类型。这是我在java代码中经常使用的一个类,所以我不想更改签名。当我尝试像这样使用构造函数时:Builder>(List::class)我收到一个错误:“类文字的左侧只允许使用类”有什么办法解决这个问题吗?我无法更改Builder的构造函数,太多的java类依赖它。我了解整个类型删除问题,我真的只是想让编译器开心。 最佳答案 由于generictypeerasureList类对其所有通用实例都有一个实现。只能得到List对应的类类型,因此只创建Builder

generics - 我对同一个类有两个 Kotlin 扩展方法,但是具有不同的通用签名并且编译器会提示

我正在为同一个类编写两个扩展函数:classSomething{...}它们看起来像:funSomething.toJson():String=...funSomething.toJson():String=...并导致编译错误:Kotlin:Platformdeclarationclash:ThefollowingdeclarationshavethesameJVMsignature如何创建两个只有泛型签名不同的扩展函数?还是不可能?注意:这个问题是作者有意编写和回答的(Self-AnsweredQuestions),因此常见的Kotlin主题的答案出现在SO中。它起源于Kotlin