2012-02-07 21 views
5

के लिए बहुत-मुद्रित करने के लिए मिलता है वस्तु का प्रतिनिधित्व आदेश में कुछ कोड के आंतरिक भागों को समझने के लिए या प्रिंट त्रुटियों पर उदासीनता मैं Python और Emacs तुतलाना में पीपी की तरह काम करता है का उपयोग करें।देखो जावा

अब मैं जावा के लिए के लिए आते हैं और मानक पुस्तकालय या जावा के लिए वस्तु की बहुत-मुद्रित प्रतिनिधित्व प्राप्त करने के लिए tecnique के लिए देखो।

लगता है कि मौजूदा जावा विनिर्देश रनटाइम पर जावा वस्तु का आत्मनिरीक्षण अनुमति देते हैं। लेकिन आत्मनिरीक्षण इतना शक्तिशाली नहीं हो सकता है। मीटर (वस्तु ओ) साथ नई वस्तु [] आर्ग नहीं कहा जा सकता?

नोट मैं नहीं स्रोत कोड beautifier की तलाश में है! मैं रनटाइम सुंदर प्रिंट जावा ऑब्जेक्ट डंपिंग की तलाश में हूं।

टिप्पणी 2 ये सभी एक जैसी नहीं है, लेकिन ठीक उसी सवाल: एक त्वरित और गंदे समाधान के लिए

+1

यह भाषाओं के लिए लिस्प और पायथन के रूप में एक सामान्य दृष्टिकोण है। एक जावा जैसे संकलित भाषा के लिए इसे कम देखता है। वहां यह ब्रेकपॉइंट सेट कर रहा है और डीबगर में चर का निरीक्षण कर रहा है। यह बुद्धिमान नहीं है, लेकिन आप काम करने के अपने तरीके को बदलने पर विचार कर सकते हैं। अच्छा 'toString' को लागू करने में भी मदद करता है। –

+0

@JoopEggen डीबगर के बारे में युक्तियों के लिए धन्यवाद! क्या मुझे कुछ जीयूआई डीबगर का उपयोग करने की ज़रूरत है या जेडीबी अच्छी तरह से कक्षा सामग्री (पूर्णांक की सरणी) मुद्रित कर सकता है? मैं Emacs का उपयोग करता हूं, इसलिए यह मेरे लिए आसान स्टोर और प्रक्रिया जेडीबी आउटपुट है ... – gavenkoa

+0

** जेडीबी ** डीबगर उपयोग ** डंप ** कमांड के तहत कक्षा का विरोध प्रिंट करने के लिए! – gavenkoa

उत्तर

11

आप Apache Commons Lang पुस्तकालय से ReflectionToStringBuilder इस्तेमाल कर सकते हैं।

नमूना:

String dump = ReflectionToStringBuilder.toString(object); 

अपने प्रश्न का रूप:

मीटर (वस्तु ओ) नई वस्तु [] आर्ग के साथ नहीं कहा जा सकता?

यकीन है कि, Object के सरणी Object का उप प्रकार है।

7

एक जावा वस्तु के उत्पादन में दिखाने के लिए , आप जैक्सन http://jackson.codehaus.org/ का उपयोग कर सकते हैं इससे ऑब्जेक्ट आउटपुट होगा JSON।

+1

किसी को भी आवश्यकता होगी, अधिक जानकारी के लिए इस [ObjectMapper] (https://fasterxml.github.io/jackson-databind/javadoc/2.5/com/fasterxml/jackson/databind/ObjectMapper.html) का उपयोग किया जा सकता है .fasterxml.jackson।databind.ObjectMapper()) writerWithDefaultPrettyPrinter() writeValueAsString (वस्तु);।। ' –

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