मैं String
है और HashMap
का उपयोग करके कोड नीचे की तरह hashmap मूल्य के साथ बदलाव स्ट्रिंग:जावा 8 धारा
Map<String, String> map = new HashMap<>();
map.put("ABC", "123");
String test = "helloABC";
map.forEach((key, value) -> {
test = test.replaceAll(key, value);
});
और मैं HashMap
मूल्यों के साथ स्ट्रिंग को बदलने के लिए प्रयास करते हैं, लेकिन यह काम नहीं करता क्योंकि test
अंतिम है और forEach
के शरीर में पुन: असाइन नहीं किया जा सकता है।
तो क्या String
को HashMap
के साथ जावा 8 स्ट्रीम एपीआई का उपयोग करने के लिए कोई समाधान है?
'foreach()' सिंक्रनाइज़ नहीं कर रहा है। आपका कोड संकलित नहीं होता है क्योंकि आप अपने लैम्ब्डा अभिव्यक्ति के अंदर से 'संदेश' पर दुष्प्रभाव नहीं डाल सकते हैं। यहां तक कि यदि आप कर सकते हैं, तो आपको मानचित्र में अंतिम मानचित्र प्रविष्टि के लिए 'test' पर अंतिम प्रतिस्थापन' संदेश मिलेगा। जो संभवतः आप नहीं चाहते हैं। इसके अलावा "आखिरी नक्शा प्रविष्टि" 'हैश मैप' के लिए गैर-निर्धारक है। – Ralf
ठीक है धन्यवाद, मुझे मिल गया। लेकिन परीक्षण की सभी सामग्री को पहले से ही बदलने के लिए मुझे क्या करना चाहिए? –