को देखते हुए AGenericClass
नीचे के रूप में की घोषणा की:ये तीन पैरामीटरयुक्त चर अलग-अलग कैसे होते हैं?
public class AGenericClass<T> {
T subject;
public void setSubject(T subject) {
this.subject = subject;
}
}
क्या चर एक, ख, और ग के बीच मतभेद रहे हैं?
AGenericClass<String> a = new AGenericClass<>();
AGenericClass<?> b = new AGenericClass<String>();
AGenericClass c = new AGenericClass<String>();
a.setSubject("L"); // OK.
b.setSubject("M"); // Error: setSubject(capture<?>) cannot be
// applied to (java.lang.String)
c.setSubject("N"); // Warning: Unchecked call to 'setSubject(T)'
// as a member of raw type 'AGenericClass'
एकख और ग सभी आईडीई से बिना किसी शिकायत के घोषणा की जाती है, लेकिन जब setSubject
कहा जाता है वे सब अलग ढंग से व्यवहार।