是实现它的两种不同的方法。

一个更短的

implicit def toR1(s:String) = new { def getLength = s.length)}
.

秒更长

class R2(s:String){def getLength2 = s.length)}
implicit def toR2(s:String) = new R2(s)
.

哪一个更好?

有帮助吗?

解决方案

第一个版本使用一个结构类型。它可以写入简短且可读的代码,但是结构类型的缺点是当您在结构类型调用该方法时在运行时使用反射。通过反射调用方法比直接调用方法慢。

更多详细信息在本博客文章中(由ME写):避免在Pimping Libraries 时的结构类型

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top