40得票7回答
Scala:将JSON直接解析成case类

给定一个JSON字符串和对应的case class,将JSON解析成case class的简单方法是什么?有很多库可供选择,但似乎Scala现在可以直接处理。 如果要将JSON解析成case class列表怎么办? 更新: Jerkson似乎已经被放弃了,我不想安装完整的Play或Lif...

39得票3回答
Scala 案例类继承 Product 和 Serializable。

我正在学习Scala,并尝试按照《Scala Cookbook》中的示例:trait Animal trait FurryAnimal extends Animal case class Dog(name:String) extends Animal case class Cat(name:S...

38得票4回答
为什么case类的伴生对象要扩展FunctionN?

当你创建一个 case class 时,编译器会自动生成一个相应的伴生对象,其中包含一些 case class 特性:apply 工厂方法匹配主构造函数、equals、hashCode 和 copy。 有点奇怪的是,这个生成的对象扩展了 FunctionN。scala> case cl...

37得票5回答
动态混入一个特质。

拥有某种特性 trait Persisted { def id: Long } 如何实现一个接受任何样例类实例并返回混入该特质的副本的方法? 该方法的签名如下: def toPersisted[T](instance: T, id: Long): T with Persisted

36得票3回答
如何从Java中“获取”Scala的case object?

我在Scala中创建了一个案例对象的层次结构,如下所示:package my.awesome.package sealed abstract class PresetShapeType(val displayName: String) case object AccelerationSen...

34得票3回答
Scala宏:在Scala中将类的字段制作成Map

假设我有很多相似的数据类。下面是一个叫做User的示例类定义: case class User (name: String, age: Int, posts: List[String]) { val numPosts: Int = posts.length ... def f...

34得票3回答
Scala案例类更新值

我有一个包含2个字符串成员的案例类。我想稍后更新第二个成员,所以我首先创建了一个带有String和None的实例,然后稍后加载数据到该类,并希望使用某些值来更新第二个成员。 我该怎么做?

31得票2回答
为什么参数位于逆变位置?

我正在尝试在trait内使用协变类型参数来构造一个类似于case-class的结构,代码如下: trait MyTrait[+T] { private case class MyClass(c: T) } 编译器提示: error: covariant type T occurs ...

30得票2回答
Scala 2.10反射,如何从一个case class中提取字段值,即从case class中获取字段列表。

如何使用scala 2.10中的新反射模型来提取case class中的字段值? 例如,使用以下方法无法提取字段方法。 def getMethods[T:TypeTag](t:T) = typeOf[T].members.collect { case m:MethodSymbo...

29得票2回答
从字符串构造简单的Scala case类,严格避免样板代码。

我希望为简单的Scala case类从字符串(例如csv行)中初始化提供简洁的代码:case class Person(name: String, age: Double) case class Book(title: String, author: String, year: Int) ca...