【发布时间】:2010-10-06 19:08:40
【问题描述】:
我正在努力解决 Scala 隐式转换问题。以下代码 sn-p 说明了我的问题:
import org.junit.{ Test, Before, After };
class ImplicitsTest {
implicit def toStringWrapper(str: String) = new StringWrapper(str);
@Test
def test(){
val res1: Predicate = "str" startsWith "other";
}
}
class StringWrapper(str: String){
def startsWith(other: String): Predicate = null;
}
trait Predicate
如何通过隐式转换 toStringWrapper 强制转换字符串文字“str”以获取startsWith返回谓词而不是布尔值?
代码示例无法编译。我知道 String 已经有一个 startsWith 方法,我只是想使用一个不同的方法,我认为使用隐式转换可能是一种方法。
【问题讨论】: