因此,对于Swift,我们可以使用&
运算符创建新类型或将其作为参数传递给方法。
示例Swift代码:
protocol Fooable {}
protocol Barable {}
// the new protocol
typealias FooBarable = Fooable & Barable
// method parameter
func doSomethingFor(object: Fooable & Barable) { ... }
在Kotlin的界面中可以做到这一点吗?
答案 0 :(得分:4)
请检查以下代码:
interface A{
}
interface B{
}
fun <T> check(variable: T) where T : A, T: B{
print("Hello");
}
如果您尝试传递一个不确定的变量,则上面的代码会给您带来编译时错误
答案 1 :(得分:3)
在功能方面,您可以使用where
-clause通过通用函数进行处理:
fun <T> foo(obj: T) where T: Fooable, T: Barable {
...
}