public interface Expression {
}
public interface ArithmeticExpression extends Expression {
}
public class StaticMethodDemo {
public static void print(Expression e) {
System.out.println("StaticMethodDemo");
}
public static List<Expression> convert(
Collection<? extends Expression> input) {
return null;
}
}
public class StaticMethodChild extends StaticMethodDemo {
public static void print(ArithmeticExpression e) {
System.out.println("StaticMethodChild");
}
public static List<ArithmeticExpression> convert(
Collection<? extends ArithmeticExpression> input) {
return null;
}
}
कोड से ऊपर जावा 5 में संकलित में ठीक काम करता है, लेकिन जावा 7 क्यों नहीं? जावा 7 में यह "नाम संघर्ष: प्रकार का कन्वर्ट (संग्रह) प्रकार StaticMethodChild में StaticMethodDemo प्रकार के कन्वर्ट (संग्रह) के समान मिटा है, लेकिन इसे छिपा नहीं है"नाम संघर्ष त्रुटि संकलन जब जावा 7 में संकलित लेकिन जावा 5
स्पष्टीकरण के लिए धन्यवाद। वर्तमान में मैं एक परियोजना पर काम कर रहा हूं जहां हम जावा 7 में माइग्रेट कर रहे हैं और बड़ी संख्या में कक्षाओं में यह समस्या है। इसके अलावा मुझे उन विधियों के साथ भी समस्या का सामना करना पड़ रहा है जिनमें वर्गा है। – Dragon
आपको उन सभी वर्गों को निश्चित रूप से दोबारा परिभाषित करना चाहिए क्योंकि यह त्रुटियों का स्रोत है। –