@Data注解一般主要的功能是在实体类上面主要功能是为了提供类的get、set、equals、hashCode、canEqual、toString方法
目前在写一个物联网项目,一个类的字段特别多,大概几百上千,这种就不能使用@Data注解!!!
先说结果,这样会导致栈溢出,即 java.lang.StackOverflowError。
原因:
@Data会帮你写toString,简单的类帮你写成下面这样。
public String toString() {
return "Books(bookID=" + this.getBookID() + ", bookName=" + this.getBookName() + ", bookCounts=" + this.getBookCounts() + ", detail=" + this.getDetail() + ")";
}
但是,如果一个类有上千的字段,那么toString会帮你写多长自己想一下吧。。。这样就会导致java.lang.StackOverflowError。