有没有办法在 Dart 中克​​隆对象?

问题描述

我在 Stackoverflow 上遇到了一些关于此的问题,但对我来说没有任何意义。最简单的方法是什么?

解决方法

检查以下类以供参考:

class Customer {
  final String id;
  final String name;
  final String address;
  final String phoneNo;
  final String gstin;
  final String state;

Customer({
    this.id = '',@required this.name,@required this.address,@required this.phoneNo,this.gstin,@required this.state,});

  Customer copyWith({
    String name,String address,String phoneNo,String gstin,String state,}) {
    return Customer(
      name: name ?? this.name,address: address ?? this.address,phoneNo: phoneNo ?? this.phoneNo,gstin: gstin ?? this.gstin,state: state ?? this.state,);
  }

}

使用 copyWith 构造函数可以创建对象的副本。

如果你没有将任何参数传递给 copyWith 构造函数,它将返回具有相同值的相同对象

但是,如果您想更改使用 copyWith 构造函数所做的任何参数,它将返回带有您传递的新参数值的对象副本

注意:在 copyWith 构造函数中,假设如果您更改一个参数值,则其他参数值保持与第一个对象相同。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...