上述代码报错:'BeanUtils' is abstract; cannot be instantiated
时间: 2024-03-22 19:41:16 浏览: 49
Java基础_第二阶段-day18每日作业卷答案1
非常抱歉,我的回答有误。`BeanUtils`是一个抽象类,不能直接实例化。正确的方式是使用`BeanUtilsBean`类来进行属性拷贝操作,而不是直接实例化`BeanUtils`类。
修改后的代码如下:
```
public class BeanUtilsExample {
private static final BeanUtilsBean beanUtils = BeanUtilsBean.getInstance();
static {
ConvertUtils.register((source -> {
if (source instanceof String && ((String) source).startsWith("prefix")) {
return ((String) source).substring(6);
}
return source;
}), String.class);
}
public static void main(String[] args) {
SourceObject source = new SourceObject();
TargetObject target = new TargetObject();
source.setPrefixName("John");
source.setPrefixAge(20);
try {
beanUtils.copyProperties(target, source);
} catch (IllegalAccessException | InvocationTargetException e) {
e.printStackTrace();
}
System.out.println(target.getName()); // 输出:John
System.out.println(target.getAge()); // 输出:20
}
}
```
再次感谢您的提醒,希望这次回答能够帮到您。
阅读全文