मान लीजिए मैं एक सामान्य वर्ग है कि मैं का उपयोग करें जो इस तरह की घोषणा की है:जावा सामान्य वस्तु
public class ConfigurableRuleKey<R extends Configurable & Rule> extends Key<R> {
private final R rule
public ConfigurableRuleKey(R rule) {
this.rule = rule;
}
/* Additional methods are declared here */
}
और मैं एक कारखाने विधि है कि जांच में सफल हो नियम इंटरफ़ेस Configurable
लागू करता है, तो लागू करने के लिए, जब बनाने चाहते हैं विन्यास नियम या सिर्फ एक बुनियादी कुंजी बनाने:
public static <R extends Rule> Key<R> create(R rule) {
if (rule instanceof Configurable) {
return new ConfigurableRuleKey<>(rule); //This will not compile
} else {
return new RuleKey<>(rule);
}
}
समस्या यह है कि मेरी कारखाने विधि में मैं ConfigurableRuleKey
के निर्माता के लिए नियम पारित नहीं हो सकता है क्योंकि यह घोषित सामान्य बाधाओं फिट नहीं करता है (घटना अगर मैं होता है exp लाइसेंसपूर्वक जांच की गई है कि यह Configurable
लागू करता है)। सवाल यह है कि मैं अपना नियम उदाहरण कैसे डाल सकता हूं ताकि यह ConfigurableRuleKey
में कन्स्ट्रक्टर प्रतिबंधों को फिट कर सके?
मेरा आईडीई मुझे बताता है कि यह कोड संकलित भी नहीं होगा लेकिन वास्तव में ऐसा लगता है कि यह करता है। :) धन्यवाद। मुझे लगता है कि मैं अपने आईडीई की सहायता टीम को इस मुद्दे की रिपोर्ट करूंगा। – SimY4
@ सिम 4: जिज्ञासा से बाहर, आईडीईई के बारे में शिकायत क्या है? – Dolda2000
मैं इंटेलिजे आइडिया 14 प्रारंभिक एक्सेस पूर्वावलोकन का उपयोग कर रहा हूं – SimY4