Scala play 2.0テンプレートで文字列からロングにキャストするにはどうすればよいですか?
アクションがあるところで次のことをしたいApplication.profile(Long user_id)
::
<a href='@routes.Application.profile((Long) session.get("user_id"))'>@session.get("username")</a>
Scala play 2.0テンプレートで文字列からロングにキャストするにはどうすればよいですか?
アクションがあるところで次のことをしたいApplication.profile(Long user_id)
::
<a href='@routes.Application.profile((Long) session.get("user_id"))'>@session.get("username")</a>
キャストはScalaではそのようには機能しません。
あなたが欲しい:
session.get("user_id").toLong
キャストできないsを安全に処理するために、開始Scala 2.13
することをお勧めします。String::toLongOption
String
Long
"1234".toLongOption.getOrElse(-1L) // 1234L
"lOZ1".toLongOption.getOrElse(-1L) // -1L
"1234".toLongOption // Some(1234L)
"lOZ1".toLongOption // None
あなたの場合:
session.get("user_id").toLongOption.getOrElse(-1L)
String::toLong
以前のバージョンでは、代わりにとを組み合わせて使用できますTry
。
import scala.util.Try
Try("1234".toLong).getOrElse(-1L) // 1234L
Try("lOZ1".toLong).getOrElse(-1L) // -1L