12

Scala play 2.0テンプレートで文字列からロングにキャストするにはどうすればよいですか?

アクションがあるところで次のことをしたいApplication.profile(Long user_id)::

<a href='@routes.Application.profile((Long) session.get("user_id"))'>@session.get("username")</a>
4

2 に答える 2

29

キャストはScalaではそのようには機能しません。

あなたが欲しい:

session.get("user_id").toLong
于 2012-05-02T02:19:58.967 に答える
1

キャストできないsを安全に処理するために、開始Scala 2.13することをお勧めします。String::toLongOptionStringLong

"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
于 2019-03-04T21:13:48.820 に答える