2012-08-10 43 views
7

我有下面的代碼:如何在IntelliJ中進行調試時修改變量值,以便相應的手錶自動更新?

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

哪裏e.getKey()爲「週一至週五」。

現在,我已經執行了第一行並且站在if表達式上。使用觀察窗口我評估matchDays.matches()表達式,然後在matchDays的各種方法中添加一些手錶。然後使用相同的觀察窗口評估matchDays = m_daysRegex.matcher("Mon,Fri")matchDays.matches()表達式以查看會發生什麼。不幸的是,監視窗口不會刷新本身,它並沒有一個明確的按鈕,這樣做: enter image description here

在上圖中,請注意matchDays.group(0)顯示「週一,週五」,但matchDays.group(1)顯示「週一至週五」 。這是因爲我手動刷新了前者,但其餘的仍顯示舊值。我必須手動刷新它們,這很煩人。

我做錯了什麼?有沒有正確的方法去做,所以觀察表達式會自動刷新?或者有沒有辦法刷新整個觀察窗口?

謝謝。

回答

3

不可能自動刷新它們,因爲刷新需要調用可能對調試器和應用程序語義產生副作用的實際方法。簡單的手錶值會自動刷新。請參閱similar request in YouTrack

8

這裏是我在Intelij改變了變量的值在運行時

  1. 的變量出現在變量窗口
  2. 點擊右鍵,選擇設定值
  3. 更新的值,然後按下回車鍵。
+0

我得到'類型不匹配'只改變一個整數值。它顯示引用,但它引發錯誤是否引用數字或不。 – another 2017-02-02 09:59:56

+0

我得到類型不匹配的可選類型索引 – Ricky 2017-09-25 10:31:45

相關問題