首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >scala和抽象类型"unboxing“

scala和抽象类型"unboxing“
EN

Stack Overflow用户
提问于 2013-02-04 03:20:17
回答 1查看 101关注 0票数 0

给定类

代码语言:javascript
复制
object A {
  type URLT = String
}

case class A(url : URLT)

class ForeignStreamWriter {
  def writeString(str: String) {}
}

trait WriterA {

  val writer : ForeignStreamWriter

  def write(src: A) {
    writer.write(src.url)
  }
}

如何告诉编译器我正在使用writer.write(src.url)?中的字符串(而不是URLT )我不能修改ForeignStreamWriter的签名。

UPD

现在我找到了唯一的解决办法

代码语言:javascript
复制
  def write(src: A) {
    writer.write(src.url.asInstanceOf[String])
  }

但我真的不喜欢。

EN

回答 1

Stack Overflow用户

发布于 2013-02-04 04:45:06

您需要在范围内进行import A._。顺便说一句,您的示例没有编译就没有它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14679921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档