Что такое универсальный тип Kotlin для захвата MutableMap и MutableList? - PullRequest
0 голосов
/ 14 мая 2019

Я хочу создать функцию, которая в основном возвращает размер заданной коллекции. В частности, я хочу сделать его достаточно универсальным, чтобы он мог работать с MutableMap и MutableList. Как мне это сделать?

Я пытался использовать Collection<Any>, но оказалось, что Map не является подтипом Collection.

1 Ответ

3 голосов
/ 14 мая 2019

Почему бы вам просто не использовать поле size, найденное в Collection<out E> и Map<K, out V>?

public interface Collection<out E> : Iterable<E> {
    // Query Operations
    /**
     * Returns the size of the collection.
     */
    public val size: Int

    ...
}
public interface Map<K, out V> {
    // Query Operations
    /**
     * Returns the number of key/value pairs in the map.
     */
    public val size: Int

    ...
}
...