使用类名和参数从String实例化对象

时间:2017-02-08 19:09:38

标签: scala

我在scala中有如下特征

trait Ingredients
case class Water(temperature: Int, litters: Double) extends Ingredients

我还从一个文件读取字符串:

"Water(temperature=15, litters=50)"

我想知道是否可以通过仅传递String来实例化此类中的对象。

1 个答案:

答案 0 :(得分:1)

Twitter的Util-Eval将执行此操作:https://github.com/twitter/util

<head>
    <meta charset="UTF-8">
    ...
</head>

评估的代码需要是Scala代码的完整单元。例如,如果val eval = new Eval val w = eval[Water]("Water(temperature=15, litters=50)") 在包中,则需要在计算的字符串中导入包,或者需要在构造函数中使用完整的包引用