假設我有一個類的實體,我想復制并保存專案的當前狀態,有沒有辦法在不使用 copy() 方法的情況下做到這一點?如果我只是將類實體保存在某個變數中,那么當原始狀態發生變化時,它的狀態也會發生變化,但我不希望這種情況發生。有人知道如何保存當前的類實體而不對其進行變異,以便每當我想再次使用它時,我希望類實體與我保存時的完全相同嗎?
uj5u.com熱心網友回復:
制作 a 副本的最佳方法case class是使用copy. 如果這是不可接受的(無論出于何種原因),那么您必須創建一個case class具有相同值的新實體。
但是您只有這個問題,因為您在class. 保持資料類不可變要好得多,這樣您就知道這些值不會在您的腳下發生變化。如果您需要更改這些值,請創建一個具有不同值的新實體并使用它,保持原始實體不變。
學習在沒有可變值的情況下以函式式方式進行編碼需要一段時間,但值得付出努力!
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/401912.html
標籤:斯卡拉
