15

我有以下代码:

Matcher matchDays = m_daysRegex.matcher(e.getKey());
if (matchDays.matches()){
...
}

e.getKey()“周一至周五”在哪里。

现在,我已经执行了第一行并站在 if 表达式上。使用监视窗口我评估matchDays.matches()表达式,然后在 的各种方法上添加一些监视matchDays。然后使用同一个监视窗口评估matchDays = m_daysRegex.matcher("Mon,Fri")andmatchDays.matches()表达式以查看会发生什么。不幸的是,监视窗口不会自行刷新,也没有明确的按钮来执行此操作: 在此处输入图像描述

在上图中,请注意如何matchDays.group(0)显示“Mon,Fri”,但matchDays.group(1)显示“Mon-Fri”。这是因为我手动刷新了前者,但其余的仍然显示旧值。我必须手动刷新它们,这很烦人。

难道我做错了什么?有没有正确的方法,所以手表表达式会自动刷新?或者有没有办法刷新整个监视窗口?

谢谢。

4

3 回答 3

24
于 2016-02-25T10:54:46.897 回答
3

不可能自动刷新它们,因为刷新需要调用可能对调试器和应用程序语义产生副作用的实际方法。简单的监视值会自动刷新。

另请参阅YouTrack 中的类似请求

于 2012-08-10T13:09:05.037 回答
1

添加到@Hari Rao

一件小事我认为很重要,因为它很容易忘记,请确保您要修改的变量本身是 var 而不是 val

否则,您将看到“设置值”灰显。

于 2020-04-26T12:55:19.843 回答