मान लीजिए मैं निम्नलिखित वर्ग है:उच्च kinded जेनरिक
public class FixExpr {
Expr<FixExpr> in;
}
अब मैं एक सामान्य तर्क पेश करने, Expr के उपयोग पर सार संक्षेप हैं:
public class Fix<F> {
F<Fix<F>> in;
}
लेकिन ग्रहण नहीं करता है ' टी इस तरह:
प्रकार एफ सामान्य नहीं है; इसे ठीक < < एफ > >
तर्क के साथ parametrized नहीं किया जा सकता यह सब पर संभव है या मैं कुछ का कारण बनता है कि विशेष रूप से यह तोड़ने के लिए अनदेखा कर दिया?
कुछ पृष्ठभूमि जानकारी: हास्केल में यह सामान्य कार्यों को लिखने का एक आम तरीका है; मैं जावा को पोर्ट करने की कोशिश कर रहा हूं। ऊपर दिए गए उदाहरण में टाइप तर्क एफ में सामान्य प्रकार की बजाय * -> * है। हास्केल में यह इस तरह दिखता है:
newtype Fix f = In { out :: f (Fix f) }
वास्तविक समस्या आप इस के साथ हल करने की कोशिश कर रहे हैं क्या है? क्या इसे टेम्पलेट का उपयोग करके आसानी से हल नहीं किया जा सकता है? – KitsuneYMG