метод с параметром Class <T>в Java в порядке, но не в kotlin - PullRequest
0 голосов
/ 28 апреля 2019

метод с параметром Класс в java в порядке, но не в kotlin

public interface AuthConf<T> {
}

public class AuthConfDao<T> implements AuthConf<T> {
}

public class AuthManager<T> {
    public <C extends AuthConf<T>> C rmConf(Class<C> clazz) {
        //...
        return null;
    }
}

//test in java
public void test() {
    AuthManager<Integer> auth = new AuthManager<Integer>();
    auth.rmConf(AuthConfDao.class);
}

//test in kotlin
fun test() {
    auth.rmConf<AuthConfDao<*>>(AuthConfDao<*>::class.java) 
    auth.rmConf<AuthConfDao<Int>>(AuthConfDao<Int>::class.java)
    auth.rmConf(AuthConfDao<Int>::class.java)
}

ошибка:

Type argument is not within its bounds. Expected: AuthConf<Int!>! 
Found: AuthConfDao<*> Only classes are allowed on the left hand side of a
class literal
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...