Stream इंटरफ़ेस में of()
विधि के लिए दो ओवरलोड हैं। इनमें से एक एक चर-धर्मार्थ विधि है जबकि दूसरा एक तर्क लेता है।जावा स्ट्रीम इंटरफ़ेस में() के varargs विधि को अधिभार क्यों अधिभारित करें?
एकल-तर्क विधि एक प्रदर्शन अनुकूलन बनाम चर-ध्रुवीय विधि के लिए एक तर्क पारित कर रहा है? यदि हां, तो यह प्रदर्शन में सुधार कैसे करता है? empty()
विधि से भी वही प्रश्न पूछे जा सकते हैं, जो वैरिएबल-आर्टी of()
के आसपास वाक्यविन्यास चीनी प्रतीत होता है।
मुझे लगता है कि कार्यान्वयन इन विधियों के बीच भिन्न है, अंतर यह है कि Spliterator
तत्काल है; लेकिन Stream
एपीआई को यह प्रस्ताव क्या लाभ देता है?
मेरा मतलब केवल यह था कि विधि हस्ताक्षर वाक्यविन्यास चीनी को इंगित करने लगते हैं (और दस्तावेज़ीकरण एक तरफ या दूसरे को इंगित नहीं करता है)। मैं देखता हूं कि कार्यान्वयन अलग हैं। – jaco0646
एकल तत्व या खाली सरणी का बचाव माइक्रो-ऑप्टिमाइज़ेशन जैसा लगता है। क्या इस तरह की चीज एक औसत डेवलपर के बारे में चिंतित होना चाहिए? क्या मुझे अपने सभी varargs विधियों के लिए इस प्रकार के प्रदर्शन अनुकूलन प्रदान करना चाहिए? – jaco0646
@ jaco0646, वाक्यविन्यास चीनी के साथ क्या गलत है? विशेष रूप से यदि यह प्रदर्शन अनुकूलन अवसर भी प्रदान करता है। –