मैं निम्नलिखित वर्ग generify कोशिश कर रहा हूँ:।Generifying सरणी प्रकार जैसे वस्तु [] वर्ग
public class FooService {
private Client client;
public Foo get(Long id) {
return client.get(id, Foo.class);
}
public List<Foo> query() {
return Arrays.asList(client.get(Foo[].class));
}
}
सब कुछ Foo[].class
को छोड़कर ठीक है:
public abstract class BaseService<T, I> {
private Client client;
private Class<T> type;
public BaseService(Class<T> type) {
this.type = type;
}
public T get(I id) {
return client.get(id, type);
}
public List<T> query() {
return Arrays.asList(client.get(/* What to pass here? */));
}
मैं कैसे Foo[].class
गुजर बिना इस समस्या को हल कर सकते हैं कन्स्ट्रक्टर में मैंने Foo.class
के साथ किया है?
मैं वह भी सोचा है, लेकिन फिर विचार मुझे चेतावनी दी है और 'अनियंत्रित कलाकारों का कहना है: ...'। क्या इसके लिए कोई कामकाज भी है? –
@ s.alem क्या यह आपको 'client.get' को कॉल करने या कन्स्ट्रक्टर में' एआरटी टाइप 'सेट करने के बिंदु पर चेतावनी देता है? – dasblinkenlight
क्षमा करें, ऐसा तब होता है जब मैं 'arrType' के लिए 'कक्षा' सेट करता हूं। जब मैं इसे 'कक्षा' के रूप में परिभाषित करता हूं, तो वह वहां शिकायत नहीं करता है। हालांकि यह 'अनचेक असाइनमेंट: ...' विधि कॉल 'क्लाइंट.get (arrType)' कहता है। मैं इसके साथ रह सकता हूं, लेकिन अगर कोई कामकाज हो तो यह अच्छा होगा। –