我正在调试一些MATLAB代码,并希望确保对一个对象的两个引用实际上是在引用同一对象。有没有一种方法可以获取对象的唯一标识符(例如内存地址)?

据我所知,我无法将自己的ID添加到对象中,因为它们是MATLAB随机数流。

最佳答案

如果使用的是OOP,则可以添加一个属性ID并在构造对象期间对其进行设置。
java.rmi.server.UID()是获取唯一ID的好方法

但是,通过==进行测试将检查实际的句柄,因此这更多是可用性问题。

classdef yourClass < handle

properties
    ID
end

methods
    function obj = yourClass()
        obj.ID = java.rmi.server.UID();
    end

end

end

然后,检查对象将非常简单。

10-07 19:07
查看更多