मैं इस विषय पर my earlier answer की ओर आकर्षित करना जा रहा था, लेकिन यह है कि आप पहले से ही that question से लिंक किया है पता चला है। other answer भी उपयोगी जानकारी प्रदान करता है।
आप char
मूल्यों चाहते हैं, आप String.chars()
द्वारा IntStream
लौटे का उपयोग करें और जानकारी की हानि के बिना char
को int
मूल्यों डाली कर सकते हैं। अन्य उत्तरों ने समझाया कि Stream
कक्षा के लिए आदिम विशेषज्ञता क्यों नहीं है।
यदि आप वास्तव में Character
ऑब्जेक्ट्स बॉक्सिंग चाहते हैं, तो का उपयोग IntStream
से संदर्भ प्रकार की एक स्ट्रीम में कनवर्ट करने के लिए करें। mapToObj()
के भीतर, int
मान char
पर डालें। चूंकि किसी ऑब्जेक्ट को यहां रिटर्न वैल्यू के रूप में अपेक्षित होने की उम्मीद है, char
को Character
में ऑटोबॉक्ड किया जाएगा। इसका परिणाम Stream<Character>
है। उदाहरण के लिए,
Stream<Character> sch = "abc".chars().mapToObj(i -> (char)i);
sch.forEach(ch -> System.out.printf("%c %s%n", ch, ch.getClass().getName()));
a java.lang.Character
b java.lang.Character
c java.lang.Character
स्रोत
2014-10-12 04:51:12
विधि वर्ण() आधार वर्ग CharSequence में है! – isnot2bad
हाँ, मुझे जावा 7 का उपयोग करने के लिए धीरे-धीरे मिला है। लेकिन मैं एक स्ट्रिंग से स्ट्रीम कैसे प्राप्त कर सकता हूं? –
ElderMael
@ElderMael क्या आप जावा 7 या जावा 8 का उपयोग कर रहे हैं? जावा 8 के लिए ये विधियां और प्रकार नए हैं। –