Chciałbym mieć klasę nietypową w kotlinach, która używa generycznych w swoim konstruktorze w celu określenia tego parametru. Jednak nie mogę wymyślić, jak to zrobić, i konwerter Java-to-Kotlin dla przerw Intelli.Czy klasa Non-Generic przyjmuje ogólny argument w konstruktorze
Moja klasa java wygląda wyjście tego
public class Test {
interface I1 { }
interface I2 { }
private final I1 mI1;
private final I2 mI2;
public <T extends I1 & I2> Test(T host) {
mI1 = host;
mI2 = host;
}
}
konwertera wygląda tak.
class Test(host: T) where T: I1, T: I2 {
internal interface I1
internal interface I2
private val mI1: I1
private val mI2: I2
init {
mI1 = host
mI2 = host
}
}
Chciałbym to zrobić, ponieważ w rozwoju Android jest użyteczne, aby móc określić parametr konstruktora, który wygląda jak <Host extends Context & CustomCallbackInterface>
To się nazywa "fabryka". Byłoby dobrze wytłumaczyć obiekt towarzyszący w jednym zdaniu. Również adnotacja @JvmStatic, która może być dobra tutaj, jeśli chcą wywołać fabrykę jako - jeśli jest to klasa statyczna. –