object.toString() 不能显示为字符

来源:2-3 使用AOP处理请求(下)

奉化奔腾JAVA

2017-09-15 22:04

我在Girl.java加了toString(),如下:

@Override
public String toString() {
   return "Girl{" +
           "id=" + id +
           ", cupSize='" + cupSize + '\'' +
           ", age=" + age +
           '}';
}

并在HttpAspect类中,写如下:

@AfterReturning(returning = "object", pointcut = "log()")
public void doAfterReturning(Object object){
   logger.info("response={}", object.toString());
}

==================================

但是显示object.toString()方法无效,还是显示对象。

也就是加了“.toString()”后,没有效果! 

感觉好像是定义的toString()方法,没有起效果!


写回答 关注

1回答

  • 慕UI6297885
    2017-09-16 17:07:23
    已采纳

    Girl里的toString方法是重写的Object的toString方法,你接收对象的时候接收的是Object,Object是父类,它里面的toString不是Girl里的toString。你可以把接收参数改成Girl,或者在方法体内强转为Girl

Spring Boot进阶之Web进阶

《2小时学习Spring Boot》之进阶教程,针对Web方面的相关技巧

104039 学习 · 393 问题

查看课程

相似问题