Scala copy
方法
在 Scala 中,
copy
是一个用于创建一个对象副本并修改其中一些属性的方法。它通常用于不可变(immutable)类和样例类中。
语法
copy
方法的语法如下:
def copy([param1: T, ...]): ClassName
其中:
ClassName
是要复制的对象的类名。[param1: T, ...]
是要修改的属性参数列表,可以根据需要指定多个属性。
示例
以下示例演示了如何使用 copy
方法创建一个对象副本并修改其中的属性:
case class Person(name: String, age: Int)
val person1 = Person("Alice", 30)
val person2 = person1.copy(age = 35)
println(person1) // 输出:Person(Alice, 30)
println(person2) // 输出:Person(Alice, 35)
在上述示例中,我们定义了一个名为 Person
的样例类,具有两个属性 name
和 age
。首先,我们创建了一个名为 person1
的对象,并使用初始值初始化它。然后,我们使用 copy
方法创建了一个名为 person2
的新对象,将 age
属性修改为 35
,而 name
属性保持不变。
注意事项
copy
方法会返回一个新的对象副本,原始对象不会被修改。- 在使用
copy
方法时,可以选择性地指定要修改的属性,其他属性将保持不变。 copy
方法仅适用于不可变(immutable)类和样例类。