493得票17回答
Scala的case class和class有什么区别?

我在谷歌搜索中寻找“case class”和“class”之间的区别。大家都提到,当你想对类进行模式匹配时,请使用“case class”。否则请使用类,并提及一些额外的好处,如等式和哈希码重写。但这些是使用“case class”而不是“class”的唯一原因吗? 我猜这个特性在Scala...

251得票14回答
Scala中的Case对象与枚举的比较

有没有最佳实践指南,说明何时在Scala中使用case classes(或case objects)与扩展Enumeration? 它们似乎提供了一些相同的好处。

155得票1回答
IntelliJ Scala插件的case class缩进方式很荒谬。

当一个case类有很多字段且它们的名称很长时,通常最好将每个字段单独放在一行,例如: case class Person ( name: String, age: Int ) 这与C/C++的struct定义类似,即使case class变得更大,它也是完全可读的。但是,Inte...

128得票7回答
更新嵌套结构的更清晰方式

假设我有以下两个 case class:case class Address(street: String, city: String, state: String, zipCode: Int) case class Person(firstName: String, lastName: St...

119得票7回答
一个简单的case class 如何定义易于理解的排序方式?

我有一个简单的Scala case class实例列表,想要使用list.sorted按可预测的词典顺序打印它们,但是收到了“没有为...定义隐式排序”的错误信息。 是否存在提供case class词典顺序的隐式对象? 是否有简单的惯用方式将词典顺序混合到case class中?scala...

113得票2回答
Scala的案例类如何实现重载构造函数?

在Scala 2.8中,有没有一种方法来重载样例类的构造函数? 如果可以,请提供一个代码片段进行说明。如果不行,请解释为什么。

107得票5回答
声明Scala case类有哪些缺点?

如果你正在编写使用许多漂亮的不可变数据结构的代码,那么 case class 看起来是一种救星,只需使用一个关键字就可以提供以下所有内容: 默认情况下所有都是不可变的 自动定义 getters 不错的 toString() 实现 符合规范的 equals() 和 hashCode() 具有...

100得票4回答
Scala 案例类继承

我有一个基于Squeryl的应用程序。我将我的模型定义为case class,主要是因为我发现拥有copy方法很方便。 我有两个严密相关的模型。字段相同,许多操作都是共用的,并且它们将存储在同一个DB表中。但是,在这两种情况下只有一种情况才有意义或者在两种情况下都有意义但不同的行为。 到目前为...

88得票10回答
如何在一个 case class 的伴生对象中重写 apply 方法

以下是需要翻译的内容: 那么这就是情况。我想要定义一个类似下面这样的 case class:case class A(val s: String) 我想定义一个对象来确保当我创建类的实例时,'s'的值始终为大写,如下所示:object A { def apply(s: String) =...

78得票12回答
Scala中将case class转换为map

有没有一种简便的方法可以将Scala的case class实例转换成其他类型,例如case class MyClass(param1: String, param2: String) val x = MyClass("hello", "world") 转换成某种映射,例如getCCParams...