我想让下面的代码不会抛出任何错误
case class A(value: String)
val a = A("I hope to be string one day")
val value = a.asInstanceOf[String] // java.lang.ClassCastException: A cannot be cast to java.lang.String
Run Code Online (Sandbox Code Playgroud)
我想修改A类以下工作
val value = a.asInstanceOf[String] // I hope to be string one day
Run Code Online (Sandbox Code Playgroud)
有人知道解决方案吗?
A不能转换为a,String因为它不是String.你无法做任何a.asInstanceOf[String]工作.
这就是说,你可以转换来自A于String,或隐或显:
// explicit
val s: String = a.value
// implicit conversion (although typically frowned-upon as bad practice)
implicit def unwrapA(a: A): String = a.value
val s: String = a
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1160 次 |
| 最近记录: |