查看: 1644|回复: 0

[Java代码] IDEA Debug模式下改变各类型变量值的方法

发表于 2018-5-4 08:00:02

本文介绍了IDEA Debug模式下改变各类型变量值的方法,分享给大家,具体如下:

这里写图片描述

测试类

  1. import org.slf4j.LoggerFactory;
  2. import java.util.HashMap;
  3. import java.util.Map;
  4. /**
  5. * Created by PengHongfu 2018-04-18 18:21
  6. */
  7. public class testClass {
  8. private static final org.slf4j.Logger logger = LoggerFactory
  9. .getLogger(testClass.class);
  10. public static void main(String args[]){
  11. int a = 11;
  12. Map<String,Object> map = new HashMap<>();
  13. map.put("name","Pi");
  14. map.put("age",20);
  15. logger.info("a={},map={}",a,map);
  16. }
  17. }
复制代码

这里写图片描述

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")覆盖。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持程序员之家。



回复

使用道具 举报