Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
值类型是没有自己的实体,也没有自己的生命周期的类型。值类型的另一个属性表示它不能有共享引用。例如 - 如果有一个类用户,它有一个实例变量地址指向地址类的对象。即使两个用户有相同的地址,那么他们也不能指向同一个对象。
这是什么原因?
原因是,如果您有两个用户具有相同的地址实例,则以下内容会修改两个用户的地址,这显然是您不想要的:
user1.getAddress().setStreet("new street");
这两个地址,即使它们包含相同的值,也代表数据库中两个不同行的单元格,因此它们应该是不同的实例。