java - Scala - 运行时字符串模板

标签 java string scala

我想做的正是 java 的字符串模板所做的,但在 scala 中。然而,这个库不适用于案例类:

case class Obj(str:String)
val st = new ST("xx $obj.str$ xx",'$','$')
st.add("obj",Obj("replacement"))
st.render()  //returns "xx  xx"

ST 试图通过反射找到属性“str”,但它不适用于 scala。

没有ST怎么实现?

最佳答案

试着像这样创建你的类:

    case class Obj(@BeanProperty str: String)

这是 Scala 文档:http://www.scala-lang.org/api/current/#scala.beans.BeanProperty

您还可以查看 Scalasti 项目,它是 StringTemplate 的接口(interface):http://software.clapper.org/scalasti/

关于java - Scala - 运行时字符串模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39945725/

相关文章:

java - macOS Mojave (10.14) 到 Lion (10.7) 上的 JAVA_HOME 在哪里?

java - 如何在 Android 中向 passwordToggleEnabled 添加填充?

java - 如何在不使用 String/toString 的情况下获取对象而不是地址?

Node.js 将对象转换为字符串并将字符串转换为对象?

带有 SortedMap 和 "reversed"SortedMap 的 Scala 类

java - 为什么我的 API 和 JSON 应用程序无法在 Android Studio 中运行

java - 无法让我的对象加载器工作

python - 如何在Python格式字符串中使用变量的值

scala - 此 Scala 代码的功能样式

scala - mutable.SynchronizedQueue 上的 dequeueAll 是线程安全的吗?