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

开始Scala 2.13您可能更喜欢String::toLongOption安全地处理String无法转换为的 s 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::toLongand Try

import scala.util.Try

Try("1234".toLong).getOrElse(-1L) // 1234L
Try("lOZ1".toLong).getOrElse(-1L) // -1L
于 2019-03-04T21:13:48.820 回答