एक परिवर्तनीय स्कैला ऑब्जेक्ट को गहराई से क्लोन (कॉपी) करने का सबसे आसान तरीका क्या है?एक परिवर्तनीय स्कैला ऑब्जेक्ट को गहराई से क्लोन (कॉपी) करने का सबसे आसान तरीका क्या है?
उत्तर
चूंकि आप स्काला ऑब्जेक्ट की गहरी प्रतिलिपि बनाने का सबसे आसान तरीका चाहते हैं, न कि सबसे तेज़, आप ऑब्जेक्ट को हमेशा क्रमबद्ध कर सकते हैं, बशर्ते कि यह क्रमबद्ध हो, और फिर इसे वापस बेकार कर दें। निम्नलिखित कोड केवल संकलित करते समय चलाया जाता है, आरईपीएल में नहीं।
def deepCopy[A](a: A)(implicit m: reflect.Manifest[A]): A =
util.Marshal.load[A](util.Marshal.dump(a))
val o1 = new Something(...) // "Something" has to be serializable
val o2 = deepCopy(o1)
जावा-विशिष्ट समाधान (जो स्कैला में भी बहुत अच्छा काम करना चाहिए), Cloner library है। यह फ़ील्ड (प्रतिबिंब का उपयोग करके) के आधार पर तेज़, आसान, गहराई से क्लोन ऑब्जेक्ट्स है, और यह ज्ञात है कि ज्ञात अपरिवर्तनीय वस्तुओं (जैसे स्ट्रिंग, इंटेगर इत्यादि) को क्लोन न करें। अंत में, आप कस्टम अपरिवर्तनीय वस्तुओं को पंजीकृत कर सकते हैं ताकि यह उन्हें क्लोन न करे।
मैं अत्यधिक अनुशंसा करता हूं।
पहली बार मैं Cloner पुस्तकालय के बारे में सुना है। बहुत आसान लगता है! –
- 1. एक MySQL डेटाबेस कॉपी करने का सबसे आसान तरीका?
- 2. जावा में 'है' करने का सबसे आसान तरीका क्या है?
- 3. int से बाइट कॉपी करने के लिए सबसे आसान तरीका []
- 4. ग्रेगोरियन कैलेंडर को क्लोन करने का सबसे तेज़ तरीका?
- 5. क्लोन() ऑब्जेक्ट को क्लोन करने का क्या अर्थ है?
- 6. गिट में एक शाखा से सभी परिवर्तनों को मर्ज करने का सबसे आसान तरीका क्या है?
- 7. जावा में स्कैला आंशिक समारोह को कार्यान्वित करने का सबसे आसान तरीका क्या है?
- 8. सिल्वरलाइट में किसी व्यावसायिक ऑब्जेक्ट को क्लोन करने का सबसे अच्छा तरीका क्या है?
- 9. किसी एमएफसी एप्लिकेशन में, फ़ाइल को एक निर्देशिका से दूसरी निर्देशिका में कॉपी करने का सबसे आसान तरीका क्या है?
- 10. जावास्क्रिप्ट में गहराई से घोंसला वाली वस्तु संपत्ति के अस्तित्व की जांच करने का सबसे आसान तरीका क्या है?
- 11. एक पुनरावर्ती आत्म-शामिल करने का सबसे आसान तरीका?
- 12. इस XML दस्तावेज़ को मेरी ऑब्जेक्ट में कनवर्ट करने का सबसे आसान तरीका क्या है?
- 13. डेटाबेस कॉपी करने का सबसे अच्छा तरीका क्या है?
- 14. सूची कॉपी करने का सबसे अच्छा तरीका क्या है?
- 15. ट्रिगर्स में निषेध करने का सबसे आसान तरीका क्या है?
- 16. स्थान प्रदर्शित करने का सबसे आसान तरीका?
- 17. पीडीएफ से डेटा निकालने का सबसे आसान तरीका क्या है?
- 18. सबसे आसान तरीका RavenDB
- 19. ऑब्जेक्ट्स की सूची को क्रमबद्ध करने का सबसे आसान तरीका
- 20. एक छवि खींचने का सबसे आसान तरीका?
- 21. फ्लोट पास करने का सबसे आसान तरीका [] [] से सी ++ जेएनआई
- 22. किसी ऑब्जेक्ट ऑब्जेक्ट से ऑब्जेक्ट कॉन्टेक्स्ट संदर्भ प्राप्त करने का सबसे तेज़ तरीका क्या है?
- 23. डोम नोड्स को सॉर्ट करने का सबसे आसान तरीका?
- 24. क्या ओपनिड को लागू करने का कोई आसान तरीका है?
- 25. हैकेल प्लेटफ़ॉर्म को नवीनतम रूप से अपडेट करने का सबसे आसान तरीका क्या है?
- 26. AJAX के माध्यम से उपयोगकर्ताओं को प्रमाणीकृत करने का सबसे आसान तरीका क्या है?
- 27. मेरे क्लासस्पैट को प्रबंधित करने का सबसे आसान तरीका?
- 28. सी ++ में एक कॉपी कन्स्ट्रक्टर को प्रतिबंधित करने का सबसे विश्वसनीय तरीका क्या है?
- 29. स्थानीयकरण फ़ाइलों को उत्पन्न करने का सबसे आसान तरीका
- 30. जावा से विंडोज कर्नेल फ़ंक्शन को कॉल करने का सबसे आसान तरीका क्या है?
अच्छा जवाब! इससे ज्यादा आसान नहीं हो सकता! –
मैंने थोड़ा [परीक्षण] किया था (https://gist.github.com/4409b8562ac24fc042b0) लेकिन मुझे _ClassNotFoundException_ (और केस क्लास क्रमबद्ध करने योग्य हैं) प्राप्त करते रहेंगे। – Tralamazza