相关疑难解决方法(0)

Map.get(Object key)不是(完全)泛型的原因是什么

什么是决定不具有的接口完全通用的get方法背后的原因java.util.Map<K, V>.

为了澄清这个问题,方法的签名是

V get(Object key)

代替

V get(K key)

我想知道为什么(同样的事情remove, containsKey, containsValue).

java generics collections map

395
推荐指数
8
解决办法
5万
查看次数

为什么Set是一个函数?

在Scala中,a Set是一个函数:

trait Set[A] extends (A => Boolean)
Run Code Online (Sandbox Code Playgroud)

这使得不可能具有协变不可变Set因为类型A发生在逆变位置.相反Seq,未定义为函数.关于为什么以这种方式设计集合和序列的问题已经有一些内容:

一个答案说,其原因是数学背景.但这个答案没有多解释.那么,定义一个Set函数的具体优势是什么?如果以不同的方式实现它会有什么缺点?

math scala

15
推荐指数
2
解决办法
836
查看次数

标签 统计

collections ×1

generics ×1

java ×1

map ×1

math ×1

scala ×1