क्या जावा 8 में स्ट्रीम डालना संभव है? कहो कि मेरे पास वस्तुओं की एक सूची है, मैं सभी अतिरिक्त वस्तुओं को फ़िल्टर करने के लिए ऐसा कुछ कर सकता हूं:
Stream.of(objects).filter(c -> c instanceof Client)
हालांकि इसके बाद, अगर मैं ग्राहकों के साथ कुछ करना चाहता हूं तो मुझे उनमें से प्रत्येक को शामिल करने की आवश्यकता होगी:
Stream.of(objects).filter(c -> c instanceof Client)
.map(c -> ((Client) c).getID()).forEach(System.out::println);
यह थोड़ा बदसूरत लगता है। क्या एक पूरी धारा को एक अलग प्रकार से डालना संभव है? जैसे कलाकारों के Stream<Object>
लिए Stream<Client>
?
कृपया इस तथ्य को नजरअंदाज करें कि इस तरह की चीजें करने का मतलब खराब डिजाइन होगा। हम अपने कंप्यूटर विज्ञान वर्ग में इस तरह से सामान करते हैं, इसलिए मैं जावा 8 की नई विशेषताओं को देख रहा था और अगर यह संभव था तो उत्सुक था।