Описание тега kotlin-generics
0
ответов
Инфиксные функции Kotlin, использующие дженерики, не имеют принудительного типа
При использовании дженериков в инфиксных функциях это не похоже на принудительный тип infix fun <T> T.assertEquals(value: T) { assertk.that(this, equalTo(value)) } Следующий код компилируется и запускается "Some Value" asertEquals 1 Он достато…
16 авг '18 в 21:44
1
ответ
Дженерики kotlin только для потребителей
Давайте скажем, у меня есть этот пример Java: interface Sink<T> { void accumulate(T t); } public static <T> void drainToSink(Collection<T> collection, Sink<? super T> sink) { collection.forEach(sink::accumulate); } Обратите в…
05 сен '18 в 19:31
0
ответов
Несовпадение типов Kotlin с обобщениями в общих настройках
Я начинаю писать приложение для Android, используя Kotlin, и наткнулся на проблему, когда пытался написать универсальную функцию для обработки чтения из SharedPreferences Я читал о ! запись в документах Kotlin, но я до сих пор не знаю, как решить эт…
28 фев '18 в 13:10
2
ответа
Почему Kotlin не может выполнять умный приведение между интерфейсом и производным от него универсальным типом?
У меня есть следующий класс: abstract class PresenterActivity<S : ViewState, I : ViewIntent> : AppCompatActivity() { open fun initViewIntent(): I { return object : ViewIntent{} // type mismatch on this line } } Я получаю сообщение об ошибке пр…
05 июн '18 в 17:19
2
ответа
Inferring параметр типа класса по умолчанию
У меня есть класс с конструктором объявлен так class Facade<T : SuperClass>( val kClass: KClass<in T> = SuperClass::class ) Это делается так, чтобы разработчику не нужно было указывать SuperClass, если он хочет использовать его вместо по…
06 фев '18 в 12:57
5
ответов
(kotlin) editText.toString().toInt() не работает в андроид студии
val editText1 = findViewById<EditText>(R.id.editText1); if(comNum != editText1.toString().toInt() ){ View4.text = "오답" } else View4.text = "정답" Установленный apk не работает. Я думаю edittext.toString.toInt неправильно.
19 июл '18 в 07:08
1
ответ
Почему нельзя использовать методы с одинаковыми именами, но с разными обобщениями?
Я довольно новичок в языке Kotlin, но я только что столкнулся с некоторым странным поведением, которого не было в других языках, поэтому я хотел спросить, почему я не могу сделать что-то вроде этого: fun <T> methodName() { // whatev~ } fun <…
20 апр '18 в 06:24
1
ответ
Вопрос об общих свойствах Kotlin
У меня возникли некоторые проблемы с Kotlin при переводе моего проекта Android из Java в Kotlin. Скажем, у меня есть интерфейс I и интерфейс O, который расширяет интерфейс I. interface I{ } interface O: I{ } И универсальный класс A, который имеет ун…
02 ноя '17 в 22:42
1
ответ
Передача только типов, отмеченных как reified, в общую функцию Kotlin
Допустим, у меня есть следующий код: open class Fruit class Apple : Fruit() open class Juice<T : Fruit> class AppleJuice : Juice<Apple>() fun <F : Fruit, J : Juice<F>> makeJuice(juiceClass : Class<J>, fruit : F) : J {} …
20 авг '18 в 11:36
2
ответа
Kotlin Generics Ошибка в Java
Даны следующие три класса котлин: abstract class UseCase<T> { fun execute(action: Action<T>) { } } class ConcreteUseCase : UseCase<List<String>>() class Action<T> Я не могу скомпилировать следующие строки в коде Java: C…
11 янв '18 в 22:46
0
ответов
Дженерики в Котлине (вопросы инвариантности и ковариации)
abstract class Injector<T:BaseView> { protected abstract val component: BaseComponent<T> open fun inject(target: T) = component.inject(target) } Моя цель - включить следующее: List<Injector<out BaseView>> injectors список, со…
13 фев '18 в 21:07
2
ответа
Общая функция в интерфейсе для возврата конкретной реализации
В интерфейс я хочу добавить функцию, которая возвращает объект конкретной реализации. Итак, с интерфейсом: interface Content { fun <???> cloneMe(): ? } и классы class Music: Content class Video: Content функция cloneMe() из Music класс должен …
13 дек '17 в 15:10
1
ответ
Kotlin и путаница дженериков
У меня есть немного Drawers с дженериками: abstract class BaseGeoDrawer<KEY : Any, GEO : Any, ITEM : Any> abstract class BasePolygonDrawer<KEY : Any, ITEM : Any>: BaseGeoDrawer<KEY, Polygon, ITEM> class TeamAreaDrawer : BasePolygon…
06 окт '17 в 11:33
1
ответ
Почему переведенный код Котлина жалуется на массив<BaseData>? быть массивом<out BaseData>
Наличие java-класса, использование androidStudio для перевода на kotlin. Получил ошибку и не уверен, как правильно ее перевести. Java-код: public class BaseDataImpl extends BaseData { private final BaseData[] translators; public BaseDataImpl(final B…
06 авг '18 в 15:27
1
ответ
Несоответствие типа Котлина
У меня есть вопрос об общих типах, подтипах и несоответствии между ними. У меня есть конкретные классы структуры и интерфейса. Я покажу вам и, пожалуйста, объясните мне, почему происходит несоответствие типов. Допустим, я готовлю свой MVP-фреймворк …
08 мар '18 в 22:05
1
ответ
Kotlin класс с обобщениями и реализации interfcae
Я использую Kotlin в Android развитие, и я хотел бы создать класс с двумя дженериками, один из них V должен быть дочерним классом Viewи класс также должен реализовывать некоторый интерфейс MyInterface, Как это сделать? Я пробовал что-то подобное cla…
11 май '18 в 22:29
1
ответ
Kotlin "из" и "в" и дженерики - правильное использование
Я пытался создать универсальную функцию сохранения данных бедного человека, которая бы взяла MutableSet класса данных и сериализовала его на диск. Я хотел бы что-то простое для создания прототипов, и я в порядке, вызывая "save()" на наборе так часто…
20 окт '17 в 17:27
0
ответов
Общая проблема Kotlin, должна быть подтипом Nothing
Я пишу простой Spring-тест на Kotlin и у меня ошибка компиляции с обобщениями, которые я не могу понять. Функция ниже: @Test fun actuatorRootReturnsOnlyAllowed() { val expectBody:WebTestClient.BodySpec<Map<String, Map<String, Any>>, *…
22 фев '18 в 06:38
1
ответ
Как создать класс с параметром self type в качестве интерфейса в kotlin
У меня есть элемент класса с параметром типа Self interface Element<Self: Element<Self>> { val rules: Set<(Self) -> Boolean> } Как я могу теперь создать список с элементом в качестве параметра типа, потому что следующее, конечно…
02 мар '18 в 15:44
1
ответ
Могу ли я расширить Comparable<T> в Kotlin?
Я хотел реализовать min()/max() псевдонимы для котлина Comparable<T>coerceAtLeast()/coerceAtMost()если ничего больше для расширения интерфейса (я пока только расширенные классы). Я попробовал это: fun <T>Comparable<T>.max(other:T) …
17 июл '18 в 23:41