जहां तक मैं समझता हूं, स्कैला == दो वस्तुओं की प्राकृतिक समानता को परिभाषित करता है।`ऐरे (0,1,2) == ऐरे (0,1,2)` अपेक्षित परिणाम क्यों नहीं लौटाता है?
मुझे उम्मीद है कि Array(0,1,2) == Array(0,1,2)
प्राकृतिक समानता की तुलना करता है। उदाहरण के लिए, जांच करता है कि अन्य सरणी के संबंधित तत्वों की तुलना में सरणी के सभी तत्व सत्य लौटते हैं या नहीं।
लोगों ने मुझे बताया कि स्कैला का Array
सिर्फ जावा []
है जो केवल पहचान की तुलना करता है। प्राकृतिक समानता की तुलना करने के लिए Array
की equals
विधि को ओवरराइड करना अधिक अर्थपूर्ण नहीं होगा?
मैं स्कैला से परिचित नहीं हूं। हालांकि, क्या आप निश्चित हैं कि == तुलना नहीं कर रहा है कि सरणी उपनाम हैं (स्मृति में एक ही वस्तु के संदर्भ) या नहीं? मुझे लगता है कि यह एक संभावना है, क्योंकि आपने जावा सरणी से संबंधित होने का उल्लेख किया है। – Cam
यह एक दुर्भाग्यपूर्ण स्थिति है, जैसा कि अन्य उत्तरों का वर्णन है, लेकिन जब आप जानते हैं कि आप ऐरे से निपट रहे हैं, तो आप उसी एलीमेंट्स का उपयोग कर सकते हैं और सभी रैपिंग और मुक्केबाजी और circumlocutions से परहेज करते हुए आप जो जवाब चाहते हैं उसे प्राप्त कर सकते हैं। –