- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
目前我的代码需要类转换
val dataWriter: BytesDataWriter = createDataWriter
def createDataWriter(p: SomeClass) =
p.create_datawriter().asInstanceOf[BytesDataWriter]
create_datawriter
方法将返回父类(super class) DataWriter。而不是使用
asInstanceOf
进行转换,我试过这种方法
val dataWriter: BytesDataWriter = createDataWriter(p) match {
case writer: BytesDataWriter => writer
case _ => throw new ClassCastException
}
最佳答案
如果你可以用非 BytesDataWriter
做某事,你会使用第二种方法。结果,或获得更好的错误消息:
val dataWriter: BytesDataWriter = p.create_datawriter() match {
case writer: BytesDataWriter => writer
case other => throw new Exception(s"Expected p to create a BytesDataWriter, but got a ${other.getClass.getSimpleName} instead!")
}
asInstanceOf
.
关于scala - 如何避免在 Scala 中使用 asInstanceOf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21129943/
我正在试用 scalajs,但对如何使用 org.scalajs.dom.html 包访问 DOM 元素感到很困惑。通过反复试验,我发现有些元素需要使用 asInstanceOf 转换为特定类型,但有
在下面的代码中,是否可以在不使用 asInstanceOf 的情况下重新表述?我发现了一些应该避免使用 asInstanceOf/isInstanceOf 的样式指南建议,并且我设法清理了我的代码,除
我想编写一个转换为类型 A 的函数,其中 A 可以是例如List[Int],或更复杂的参数化类型,如 Map[Int, List[Int]]。 def castToType[A](x: Any): A
关于如何在不作弊和不使用 asInstanceOf 的情况下完成以下操作,我画了一个空白. 假设我有一些任意密封类型的对象,每个对象都有自己的类型成员。 sealed trait Part { t
我收到 not found: value Duck class Type class Value(val t: Type) class Duck extends Type {
考虑这个(有点做作的)例子: abstract class Obj[A, B] { def id: Long def parent: B } abstract class TopLev
如果您用这段非常糟糕的代码打扰 Scala 编译器(2.9.1 或 2.10.0-M7)... null.$asInstanceOf[Int] ...它抛出断言失败。问题:什么是 $asInstanc
在我的团队中,我经常看到队友在写作 list.filter(_.isInstanceOf[T]).map(_.asInstanceOf[T]) 但这对我来说似乎有点多余。 如果我们知道过滤列表中的所有
当我写我的 recent answer我还尝试以更“实用”的方式解决问题,但遇到了以下问题: scala> "1".asInstanceOf[Int] java.lang.ClassCastExcep
目前我的代码需要类转换 val dataWriter: BytesDataWriter = createDataWriter def createDataWriter(p: SomeClass) =
我试图回答 this问题,因为我以为我知道答案。 事实证明,我还不够了解:/ 这是我做过的一个测试: class Inst[T] { def is(x: Any) = scala.util.Try
这个问题在这里已经有了答案: What is happening with 0.asInstanceOf[B] in Scala reduceLeft implementation (2 个答案)
根据设计,我们确信我们有一个 HourlyDateFormat 的实例。 在这种情况下如何避免调用 asInstanceOf(即如何帮助编译器推断类型)? sealed trait Storage
我正在阅读 Akka Futures Guide我看到这句话: Also note that the Future returned by an Actor is a Future[Any] sinc
在 PlayFramework 2.4 中,我尝试将所有 Controller 方法转换为 JavaScript 路由。 val jsRoutesClass = classOf[routes.java
为什么 asInstanceOf 不抛出 ClassCastException ? scala> List("a").asInstanceOf[List[Int]] res34: List[Int]
这是我的代码的简化版本。 如何避免调用asInstanceOf (因为这是一个糟糕的设计解决方案的气味)? sealed trait Location final case class Single(
尝试将 String 转换为 Double 显然会失败: scala> Try("abc".asInstanceOf[Double]) res11: scala.util.Try[Double] =
尝试将 String 转换为 Double 显然会失败: scala> Try("abc".asInstanceOf[Double]) res11: scala.util.Try[Double] =
我有一个 Scala 类,它从 JOSN 模板文件中读取格式化信息,并从另一个文件中读取数据。目标是格式化为模板文件指定的 JSON 对象。我正在使用布局,但现在我想将输出类型设置为模板中的类型(即,
我是一名优秀的程序员,十分优秀!