有没有办法获取Java对象的地址?
问题从何而来?:
首先,我读取属性文件,并将文件中的所有数据放入表中。属性文件可以更新。所以,我想听一下那个文件。我使用 PropertyChangeSupport 和 PropertyChangeListener 监听一个对象。
updatedStatus = new basit.data.MyString();
updatedStatus.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
//After changes "i", we inform the table model about new value
public void propertyChange(PropertyChangeEvent evt) {
Object objec=evt.getNewValue();
tableModel.setValueAt(objec.toString(), 0, 5);
}
});
如果 updateStatus 发生变化,那么我会更新表。 MyString 类有私有字符串“Value”。我想听属性文件。因此,它应该使 UpdatedStatus.value 和属性文件的字符串在同一地址处相等。如果我能做到,那么我就不需要监听属性文件。
updatedStatus.setValue(resourceMap.getString("HDI.Device.1.Name"));
我尝试使用 StringBuffer,但无法实现。这就是为什么,我问这个问题。
首先 - 不,你无法在 Java 中获取对象的地址;至少,不是没有调试代理等的纯 Java。一方面,地址可以随着时间的推移而移动。你不需要它。
其次,理解你的解释有点困难,但你当然可以won't能够在不监听文件本身更改的情况下逃脱。将文件加载到Properties
对象,磁盘上文件的任何后续更改won't在该对象中可见,除非您专门重新加载它。
基本上你应该监听文件的更改(或轮询它)并重新加载文件(或者到一个新的Properties
或覆盖现有的)在这一点上。相当无论你also是否需要侦听字符串容器上的更新将取决于您的应用程序。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)