특정 클래스를 확장하고 인터페이스를 구현하는 유형 변수 T를 원한다고 가정 해 보겠습니다. 다음과 같은 것 :
class Foo <T : Bar implements Baz> { ... }
Kotlin에서 이에 대한 구문은 무엇입니까?
답변
꺾쇠 괄호 안에는 하나의 상한 만 지정할 수 있습니다.
Kotlin은 제약 조건이 둘 이상인 경우 일반 제약 조건에 대해 다른 구문을 제공합니다.
class Foo<T>(val t: T) where T : Bar, T : Baz { ... }
및 기능 :
fun <T> f(): Foo where T : Bar, T : Baz { ... }
여기에 문서화되어 있습니다 .