मैं स्थैतिक सामान्य विधियों को शामिल करते हुए एक जिज्ञासु स्थिति में आया हूं। यह कोड है:
class Foo<E>
{
public static <E> Foo<E> createFoo()
{
// ...
}
}
class Bar<E>
{
private Foo<E> member;
public Bar()
{
member = Foo.createFoo();
}
}
अभिव्यक्ति में किसी भी प्रकार के तर्क को कैसे निर्दिष्ट नहीं करना है Foo.createFoo()? क्या यह किसी प्रकार का अनुमान है? यदि मैं इसके बारे में स्पष्ट होना चाहता हूं, तो मैं प्रकार तर्क कैसे निर्दिष्ट कर सकता हूं?
7
मैं आपको CreateFoo विधि के प्रकार पैरामीटर E को बदलने की सलाह दूंगा। क्योंकि, क्लास फू के प्रकार पैरामीटर E, विधि createFoo () के प्रकार पैरामीटर E से भिन्न है।
—
गुरसेल कोका
@GurselKoca वह स्पष्ट रूप से सदस्य = Foo कर सकता है। <E> createFoo (); उन्हें संकलन समय के समान होने की आवश्यकता है।
—
जॉर्ज जेवियर