我需要使用一个类型(任何类型)作为一个标记在一个隐式的类型参数,以区别于另一个隐式。这很奇怪,但这可能是另一个问题。斯卡拉最便宜的类型是什么?
因为我可以使用任何类型的,我想用最便宜的之一,在内存占用和初始化时间的条款。在这种情况下,它可能不会影响性能,但问题很有趣:哪一个是Scala最便宜的类型?
在Java中,答案显然是java.lang.Object
。但斯卡拉有一些“有趣”的类型:Any
,AnyVal
类型和底部类型可能优化他们周围。 Nothing
类型不能被实例化,所以它被排除在这个比较之外。
有趣的是,我会说在java中最便宜的类型是一个简单的int。 – Yahel 2011-02-05 08:08:00
我不知道这是多么“便宜”,但没有什么可用:`def x(_:Nothing)=(); x(null.asInstanceOf [Nothing])`只是*不*尝试使用Nothing :-) – 2011-02-05 08:21:27
在“根”问题上看到一个问题也很有趣。 – 2011-02-05 08:24:53