Java程序断点调试与正常运行结果不同

E8RD36C_N8OCIV1KDR@8X]G.png

上图中的程序,正常debug运行时输出name:张三, age:10,但是在打上第28行的断点后debug运行则会输出name:null, age:0,这是为什么呢
————————
有评论说断点没执行。。。上面只是截了个代码,没截跑起来的图,我把调试的截图补上吧
%KG0GQ)V1G@WD2R]UVH)]G4.png
[YPN%E$7A8{PP20TK6$T53X.png

回答:

debug 的时候会初始化 nameDisplay 属性,如下图所示
image.png

回答:

因为你的toString方法有问题,调用一次,builder初始化了之后就一直返回相同的内容
debug的时候需要调用toString,于是builder被初始化,内容是name:null, age:0,于是后面所有的toString都是name:null, age:0

回答:

断点处还没有执行呢...

回答:

就是断点处没执行,你没明白他的意思
有个单步执行,你多点几次

以上是 Java程序断点调试与正常运行结果不同 的全部内容, 来源链接: utcz.com/p/180582.html

回到顶部