有什么方法可以将方法添加到多个类,或者减少实现相同方法所需的重复代码量。
目前我使用以下内容(在此示例中添加 ac 方法,该方法计算迭代中项目的重复次数):
/** Counts each of the distinct items. */
fun <T> Iterable<T>.c() = groupingBy { it }.eachCount()
/** Counts each of the distinct items. */
fun <T> Sequence<T>.c() = groupingBy { it }.eachCount()
/** Counts each of the distinct items. */
fun <T> Array<T>.c() = groupingBy { it }.eachCount()
我想知道是否有一种方法可以减少代码量,目前我对我希望在这 3 种类型中的任何一种上使用的所有方法重复这一点。
我能找到的唯一方法是使用通用方法定义一个接口,然后使用一个类来包装每个类型并实现该通用接口,但这似乎有很多代码可能是一种更简单的方法.