Tôi có một phương pháp trong Java như vậy:Giao lộ có thể được thực hiện trong Kotlin không?
public <T extends A & B> methodName(T arg, ...)
trong đó A là một lớp và B là một giao diện.
Trong lớp Kotlin của tôi, tôi có một variable
loại C, và tôi muốn đạt được như sau:
if (variable is A && variable is B) {
methodName(variable, ...)
} else {
// do something else
}
Có thể đúc đúng variable
để nó có thể được sử dụng như một cuộc tranh cãi không có lỗi ?
Hiện tại,
variable
có phương pháp setter, do đó, tính năng truyền thông minh không phải là khả dụng. Tuy nhiên, tôi cũng đã thử nghiệm nó với một địa phươngval
và giá trị được suy ra để có loạiAny
mà không giúp đỡ.
Phiên bản kotlin của bạn là gì? –
Đây là một vấn đề liên quan: https://youtrack.jetbrains.com/issue/KT-7304 –