मैं निम्नलिखित इंटरफेस है:अनुमान कर जेनरिक - जावा
public interface Evaluator<T> {
T evaluate(Collection<Extractable> sample);
}
और एक वर्ग है कि इंटरफ़ेस को लागू करने:
public class PrecisionEvaluator implements Evaluator<Map<Triple<Short, Integer, String>, AttributePrecisionBean>> {
@Override
public Map<Triple<Short, Integer, String>, AttributePrecisionBean> evaluate(Collection<Extractable> sample){
...
}
तो के उपयोग से ऊपर होगा:
Evaluator<Map<Triple<Short, Integer, String>, AttributePrecisionBean>> eval = new PrecisionEvaluator();
वें है इंटरफ़ेस बनाने के लिए एक तरीका है मूल्यांकनकर्ता इसे लागू करने वाले वर्ग में परिभाषित जेनेरिक प्रकार को पूरी तरह से वापस कर देता है? ताकि उपयोग बस होगा:
Evaluator eval = new PrecisionEvaluator();
या इसके बारे में जाने के लिए एक क्लीनर तरीका है?
मुझे लगता है कि आपके पास असली समस्या यह है कि आपने 'मैप <ट्रिपल <शॉर्ट, इंटीजर, स्ट्रिंग>, विशेषताप्रिजनबीन>' इसका अपना नाम और इसलिए अपनी कक्षा नहीं दी है। – SpaceTrucker