有什么方法可以监听对象的属性赋值嘛?
时间: 2024-09-18 07:15:02 浏览: 34
在Java中,你可以使用观察者模式(Observer Pattern)或者一些工具库,如Google的EventBus或Lombok的@Observes注解来监听对象属性的变化。以下是使用Lombok的一个例子:
首先,你需要定义一个事件监听器接口:
```java
import lombok.Getter;
import lombok.Setter;
import lombok.Value;
@Value
public class MyPropertyChange {
private final String propertyName;
private final Object oldValue;
private final Object newValue;
}
```
然后,在你的类上标记需要监听的属性:
```java
@Getter @Setter
public class ObservableClass {
private String myProperty;
// 当myProperty改变时,会触发MyPropertyChange事件
@Observes @Change
public void onPropertyChanged(MyPropertyChange change) {
System.out.println("Property " + change.getPropertyName() + " changed from " + change.getOldValue() + " to " + change.getNewValue());
}
}
```
当`myProperty`被设置新值时,`onPropertyChanged`方法会被调用。
阅读全文