我必须写一个函数,它以三组为参数。
签名看起来像这样:
fun twoInThree(a: setOf<Int>, b: setOf<Int>, c: setOf): setOf<Int> {}
Run Code Online (Sandbox Code Playgroud)
但这似乎不可能。编译器抱怨。使用 ArrayList 理论上是可行的。
我究竟做错了什么?如何完成所需的声明?
setOf()是一个函数,而不是一个类型。您调用它来创建Set<T>.
为自定义twoInThree函数定义参数时,您需要的是Set<T>类型:
fun twoInThree(a: Set<Int>, b: Set<Int>, c: Set<Int>): Set<Int> {}
Run Code Online (Sandbox Code Playgroud)
一些额外的注意事项:
您对 的混淆ArrayList可能来自于构造函数ArrayList()(它是一个返回 的实例的函数ArrayList)实际上看起来像类型 的事实ArrayList<T>。
使用ArrayList作为变量和函数参数类型通常是不鼓励(即使它是完全有效)。相反,我们更喜欢保持更通用并使用List<T>界面。
| 归档时间: |
|
| 查看次数: |
33 次 |
| 最近记录: |