kotlin相关内容

Kotlin,Number的通用操作

我有以下内容: 抽象界面Vec2t { var x:T var y:T } data class Vec2(override var x:Float,override var y:Float):Vec2t 我有一个接口定义了几个操作,例如: pre $ interface fun_vector2_com ..
发布时间:2018-04-23 13:39:42 其他开发

Kotlin投影冗余

在阅读Kotlin的泛型类型方差和投影时,我对我提出了一个完全陌生的概念。有人可以解释一下作者想要解释的想法是什么?请从 中的 Kotlin 引用: $ b 没有意义已经具有 out 方差的类型参数的投影,例如 List 。这意味着与 List 相同,因为 List 被声明为 class List< ;出T> 。 Kotlin编译器会警告这样的预测是多余的。 这里 ..
发布时间:2018-04-23 13:37:42 Java开发

将通用lambda放入地图中

好的,下面的代码是一个事件系统,它执行以下操作: 为lambda表达式分配一个整数id > 在事件的可变集中放置lambda的ID 将整数ID映射到lambda表达式 返回id (以后可以用来从lambda中移除事件) 代码如下: $ $ $ $ $ $ $ $ $ $ $ $ $ $ { 伴随对象{ val处理程序= HashMap ..
发布时间:2018-04-21 20:39:17 其他开发

Kotlin泛型

在Kotlin中如何为一个方法强制执行泛型? 我知道你可以做以下事情: var someVar:MutableSet = hashSetOf() 如何为一个方法做同样的事情? fun doSomething(){ } 我想执行 T 类型为 X 或其子类型。 谢谢。 解决方案 在google ..
发布时间:2018-04-21 20:29:50 其他开发

Kotlin中泛型类的扩展函数

下面的扩展函数有什么问题? class Foo { fun Foo T .plus(即:Foo T):Foo T。 = throw Exception() init { Foo()+ Foo()//接收者类型为Foo是必需的 $ b 更新 我想知道为什么它与常规扩展函数不同,其中T成功推断为 ..
发布时间:2018-04-21 20:24:10 其他开发

在Kotlin中扩展类和实现接口

假设我想要一个类型变量T,它扩展了某个类并实现了一个接口。例如: class Foo {...} Kotlin的这种语法是什么? 解决方案 在尖括号内只能指定一个上限。当有多个约束条件时,通用约束: class Foo T:Bar,T:Baz {...} 以及函数: fu ..
发布时间:2018-04-21 20:10:14 其他开发

在Scala 2.10中实现了泛化的泛型

在Scala中缺少具体化的泛型是最让我误解的语言,因为 Kotlin和Ceylon都支持泛化的泛型,所以它绝对有可能在JVM之上这样做。在过去有人说,如果没有JVM的改变,Scala就无法支持它们,但现在Scala 2.10是相对简单的。 =“nofollow noreferrer”>传言对物化的支持有限。所以我的问题是: 我们可以期望在Scala 2.10中实现物化,例如我能够实现一 ..
发布时间:2018-04-21 20:01:23 其他开发

在Kotlin中实例化泛型数组

为什么这个不能编译?我在3行收到编译错误 不能使用T作为实体类型参数。使用class而不是 class Matrix2d(val rows:Int,val cols:Int ,init:(Int,Int) - > T){ var data = Array(rows * cols,{i - > val r = Math.floor(i.toDouble ()/ co ..
发布时间:2018-04-21 19:51:26 其他开发

如何限制Kotlin扩展函数参数与扩展类型相同?

我想在泛型类型T上编写一个扩展方法,其中匹配类型约束了一个方法参数。 我想这样编译: $ b $ “Hello”.thing(“world”) 但不是这样,因为42不是字符串: “Hello”.thing( 42) 此定义不起作用,因为T满足 Any fun T.thing(p:T){} 解决方案 由 @Ale ..
发布时间:2018-04-21 19:46:38 其他开发

Java通配符类型与Kotlin Star-projection

我正在阅读关于Java和Koltin之间差异的kotlin文档,这里 https://kotlinlang.org/docs/reference/comparison-to-java.html 。据说那里 Koltin没有通配符类型。但仔细阅读泛型文档后,我发现有关 的信息明星投影,说实话,我看不出有什么不同。有人可以向我解释这是怎么回事 List列表; 不同于 ..
发布时间:2018-04-21 19:37:28 Java开发

在Kotlin中创建通用的二维数组

假设我有一个泛型类,并且需要一个泛型类型 T 的二维数组。如果我尝试以下操作: class Matrix(width:Int,height:Int){ val data :Array> =数组(宽度,arrayOfNulls(高度)) } 抛出一个错误说“不能使用'T'作为实体类型参数,而是使用一个类。”。 解决方案 ..
发布时间:2018-04-21 19:34:32 其他开发

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

我有一个一般类型的类 Builder ,它带有一个构造函数参数 Class 可以保持周围的类型。这是一个我在java代码中使用很多的类,所以我不想更改签名。 当我尝试使用这样的构造函数时: $ b Builder>(List :: class) 我得到一个错误:“类类只允许在类文字的左边” 有什么办法解决这个问题? ..
发布时间:2018-04-21 19:34:20 其他开发