本文介绍了idea debug模式下改变各类型变量值的方法,分享给大家,具体如下:
测试类
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 import org.slf4j.loggerfactory; import java.util.hashmap; import java.util.map; /** * created by penghongfu 2018-04-18 18:21 */ public class testclass { private static final org.slf4j.logger logger = loggerfactory .getlogger(testclass.class); public static void main(string args[]){ int a = 11; map<string,object> map = new hashmap<>(); map.put("name","pi"); map.put("age",20); logger.info("a={},map={}",a,map); } }
debug模式下,设置断点后,上图的变量a原始值为11,在 watchs中点击绿色的加“+”号,输入表达式a=22,向下执行,可以发现a的值变为了22。
对于特殊的类型例如,map、list等,同样可以通过map.put("name","hali")类似的方式赋值。
? 1 com.ycjf.ycs.service.khgl.wxzlgl.testclass - a=22,map={name=hali, age=20}
注意:watchs中的表达式作用的优先级高于代码中的优先级
例子中 watchs中map.put("name","hali")在代码map.put("name","pi")执行之前定义,map中的name值在整个debug期间一直为hali,不会被代码map.put("name","pi")覆盖。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/Peng_Hong_fu/article/details/79994860