में जेनरिक को संभालने के लिए मेरे पास है:जावा स्विंग - कैसे ActionListener
class CustomerActionListener implements ActionListener
{
@Override
public void actionPerformed(ActionEvent event)
{
JComboBox cb = (JComboBox)event.getSource();
.. do something
}
}
कौन सा jdk7 में निम्नलिखित संकलक चेतावनी का कारण बनता है:
JComboBox एक कच्चे प्रकार है। सामान्य प्रकार JComboBox के सन्दर्भ पैरामिट्रीकृत होना चाहिए
मुझे लगता है कि इस तरह के लिए यह parameterize करने की कोशिश की है:
JComboBox<String> cb = (JComboBox<String>)event.getSource();
लेकिन यह अभी भी निम्न संकलक चेतावनी छोड़ देता है:
प्रकार की सुरक्षा: अनियंत्रित डाली ऑब्जेक्ट से JComboBox
इसलिए मुझे यकीन नहीं है कि कंपाइलर चेतावनियों को कैसे खत्म किया जाए ...
क्या कोई उदाहरण चेक मदद करता है? यहां तक कि यदि आप जानते हैं कि आप हमेशा अंत में एक JComboBox प्राप्त करने जा रहे हैं। – Rex
मुझे नहीं लगता कि आप समस्या को हल करने के लिए "कोड" समाधान का समाधान करते हैं। आप चेतावनियों को दबा सकते हैं, कितनी बार। Http://stackoverflow.com/questions/593996/how-to-suppress-java-compiler-warnings-for- विशिष्ट- कार्यों पर एक नज़र डालें। समस्या यह है कि संकलक 'ActionEvent.getSource' को देखता है और कहता है "मेरे पास एक ऑब्जेक्ट है और सिद्धांत रूप में, आप मुझे कास्ट कर सकते हैं, जो आप मुझे काम करने के लिए नहीं डाल सकते हैं" – MadProgrammer
मैं समझता हूं कि आप दबाने में सक्षम हो सकते हैं चेतावनी, लेकिन यह मेरे लिए आदर्श से कम है। अगर मैंने इसे सभी कंपाइलर चेतावनियों के साथ किया है, तो चलो बस कहना है कि यह अच्छा नहीं होगा। यदि संभव हो तो यह पता लगाना हमेशा बेहतर होता है कि क्यों और सही ढंग से इसे हल करें। –