2016-01-19 3 views
5

मैं एक लाइन लैम्ब्डा में ब्रेकपॉइंट कैसे सेट कर सकता हूं?एकल/एक पंक्ति लैम्ब्डा में ग्रहण ब्रेकपॉइंट?

उदा। मैं (ग्रहण) डिबगर को रोकने के लिए, जब outer.doSth(event) कहा जाता है चाहते हैं:

observable.addCallback(event-> outer.doSth(event)); 
+0

अफसोस की बात है कि – Sossenbinder

+2

बनाने के बिना ऐसा करने का कोई तरीका नहीं है 'doSth' विधि के अंदर ब्रेकपॉइंट डालना एक विकल्प है। –

+2

ठीक है, आप लैम्ब्डा अभिव्यक्ति वाली रेखा पर बस एक ब्रेकपॉइंट सेट कर सकते हैं, लेकिन इस तथ्य के साथ रहना होगा कि 'addCallback' का आह्वान करने से पहले और' doSth 'को आमंत्रित करने से पहले निष्पादन दोनों बिंदुओं पर रोक देगा। यह अभिव्यक्तियों के किसी अन्य घोंसले से अलग नहीं है। यदि आप अंतर करना चाहते हैं, तो लाइन ब्रेक डालें ... – Holger

उत्तर

4

आप नहीं कर सकते।

आप इसे इस प्रकार refactor हैं:

observable.addCallback(event-> { 
    return outer.doSth(event); 
}); 

आप कर सकते हैं।

+3

लैम्बडा अभिव्यक्ति को वर्बोज़ सिंटैक्स में बदलने की कोई आवश्यकता नहीं है। यह 'event-> outer.doSth (event)' का उपयोग करके भी काम करेगा यदि आप '->' के बाद लाइन ब्रेक डालते हैं। – Holger

0

खैर इस उत्तर ग्रहण के लिए नहीं है, लेकिन intellij में आप (15.x)

enter image description here

आप एक को तोड़ने बिंदु या तो लाइन पर (जो पहला विकल्प है स्थापित करने के लिए एक विकल्प हो सकता है छवि में), या पहले लैम्ब्डा या दूसरे पर। और इसी तरह।

संबंधित मुद्दे