इम निम्न विधि के साथ काम:सरणी प्रकार की उम्मीद [संकलन त्रुटि]
public void m(List<? extends Object[]> objs){
objs.stream()
.map(oa -> oa[0]) //compile error
//array type expected
.forEach(System.out::println);
}
यह क्यों काम नहीं करता है? मैंने सोचा कि सरणी को विस्तारित करने वाली हर चीज को सरणी के रूप में देखा जा सकता है। असल में मैं सरणी से length
प्राप्त कर सकता हूं।
Downvoter, तो आप बहुत दयालु हो सकता है और टिप्पणियों में स्पष्टीकरण दें कि यह काम नहीं करता होगा: प्रत्येक सरणी एक निश्चित प्रकार और अपने ही वर्ग, जैसे
MyClass[].class
आप का उपयोग करना चाहिए एक टाइप किया विधि है? मुझे स्पष्ट रूप से 'ऑब्जेक्ट []' पर क्यों डालना होगा? –
यदि आप 'एम (सूची ऑब्जेक्ट []> objs को बढ़ाते हैं)' to 'm (सूची
@StephenP अनजाने में मैं हस्ताक्षर नहीं बदल सकता। –