निम्नलिखित कोड का उपयोग कर:तर्क बेमेल जब कलेक्ट स्ट्रीम विधि
names = Arrays.asList("A","B","C").stream();
List<String> namesAsList = names.collect(() -> new ArrayList<String>(),List::add,List::add);
System.out.println("Individual Strings put into a list: " + namesAsList);
संकलन के दौरान निम्नलिखित त्रुटि उत्पन्न:
सूची namesAsList = names.collect (() -> नई ArrayList (), सूची, :: जोड़ने सूची :: जोड़ने); ^ (तर्क विसंगति; अमान्य विधि संदर्भ असंगत प्रकार: ArrayList int में परिवर्तित नहीं किया जा सकता है) जहां आर, टी टाइप-वेरिएबल्स हैं: आर ऑब्जेक्ट विधि संग्रह में घोषित किया गया है (प्रदायक, बायकंस्यूमर, बायकंस्यूमर) टी इंटरफ़ेस में ऑब्जेक्ट घोषित करता है स्ट्रीम 1 त्रुटि
जब मैं सामान्य कोड एक अनियंत्रित अभिव्यक्ति चेतावनी के साथ संकलित दूर करने के लिए कोड में संशोधन:
Stream<String> names = Arrays.asList("A","B","C").stream();
List<String> namesAsList = names.collect(() -> new ArrayList(),List::add,List::add);
System.out.println("Individual Strings put into a list: " + namesAsList);
मुझे यह त्रुटि क्यों प्राप्त होगा? मुझे उम्मीद है कि समस्या एक int से संबंधित होने की उम्मीद नहीं है।
यदि उत्तर में समस्या का पता लगाने का तरीका शामिल हो सकता है, तो इसकी सराहना की जाएगी, इसलिए मैं सीख सकता हूं कि इन समस्याओं को स्वयं कैसे हल करें।
बस एक साइड नोट, आप तीन तत्व स्ट्रीम विज्ञापन बनाने के लिए 'Stream.of (" ए "," बी "," सी ") का उपयोग कर सकते हैं। – Holger
टिप्पणी के लिए धन्यवाद। मैं जावा 8 परीक्षा के लिए अभ्यास कर रहा हूं, इसलिए मैं अपने अभ्यास कोड में स्ट्रीम ऑब्जेक्ट बनाने के विभिन्न तरीकों का उपयोग करता हूं। –