0
我有一個案例類案例類不具有複製方法
case class Oauth2Request[A](
foo: String,
request: Request[A]
) extends WrappedRequest[A](request) {
def bar = foo
}
(這是play.api.mvc.WrappedRequest)與
val wrappedRequest = Oauth2Request("foo",otherRequest)
val publicApiRequest = wrappedRequest.copy(request=apiRequest)
後來實例
出來像這樣在我的IDE
最終的結果看起來像與編譯錯誤
not found: value request
爲什麼複製方法將看起來像WrappedRequest的構造函數的參數而不是複製方法我期望可以用來複制/更改原始對象的1個或多個字段?
雖然我創建的案例類擴展了WrappedRequest,但我期望我的抽象將具有副本。另一種方法,就像你說的那樣,做Oauth2Request(「foobar」,apiRequest),但實際上有比我在這裏展示的字段更多的字段,scala的方式是去簡潔的路線(更少的代碼)。你會知道爲什麼我的案例類(Oauth2Request)沒有複製方法嗎?我相信我已經閱讀過所有的案例類都有一個複製方法 – irregular