तो, के रूप में मैं समझता हूँ, एक हमेशा एक अंतरफलक के लिए कार्यक्रम होना चाहिए, के रूप में:प्रोग्रामिंग - बाद में कलाकारों से परहेज
List<Integer> list = new LinkedList<Integer>();
तो, बाद में मेरे कार्यक्रम में मेरे पास है:
public List<Integer> getIntegers() {
return list;
}
public void processIntegers() {
// I need an arraylist here
ArrayList<Integer> list = (ArrayList<Integer>) getIntegers(); // can I do this better, without a cast?
}
क्या मैं यहां एक बेहतर पैटर्न का पालन कर सकता हूं या किसी भी तरह कास्ट से बचने के लिए कुछ कर सकता हूं? इस परिदृश्य में कास्टिंग बहुत बदसूरत लगता है।
धन्यवाद।
मैं यह भी पूछूंगा कि यह बेहतर क्यों है, फिर एक सरणीसूची का उपयोग करके, अगर अंत में एक कास्ट अपरिहार्य है। – dontcare
@ डॉटकेयर तो आप एक सामान्य फ़ंक्शन में पूर्णांक की इस सूची को पास कर सकते हैं जो केवल एक सूची स्वीकार करता है, विशेष रूप से एक सरणीसूची नहीं। – jn1kk
आपको कम से कम विशिष्ट प्रकार के कार्यक्रम को प्रोग्राम करना चाहिए जिससे आप दूर हो सकते हैं और आगे नहीं। – plasma147