【发布时间】:2013-09-25 17:00:32
【问题描述】:
Scala 的 String 操作依赖于 java.lang.String,但是,它通过添加其他方法(例如 .intersect 等)丰富了 java 字符串类 java中的int包装器(Int)也是如此,还有RichInt类。
我意识到下面的代码:
val stringOne: String = "teststring"
val stringTwo: String = "string"
stringOne.intersect(stringTwo)
将导致 scala 编译器将 stringOne 类型转换为 StringOps 类,以便它可以访问方法 intersect
我担心这会导致严重的计算成本 那么谁能告诉我这是否属实,如果是这样,有没有办法优化或避免这种情况?
我希望我的问题是有道理的,我已经阅读了几本书,但没有一本能解决这些问题 谢谢。 :)
编辑: 已提出并回答了类似的问题here 如果有人也能从记忆的角度解决这个问题,我将不胜感激
【问题讨论】:
-
你听说过隐式转换吗?如果不是 - 我建议您阅读主题,它与您的问题有关。
-
我知道隐式转换是由编译器处理的,而无需您自己在代码中进行,例如在 java Employer em = new Employee(); Manager mg = (Manager) em 是显式转换。没有?
标签: scala