আমি মনে করি জেনারিক্স টিউটোরিয়ালের এই বিভাগটি পরিস্থিতি (আমার জোর) ব্যাখ্যা করে:
"আপনাকে অবশ্যই নিশ্চিত করতে হবে যে জেনেরিক এপিআই অযৌক্তিকভাবে সীমাবদ্ধ নয়; এটি অবশ্যই এপিআই এর মূল চুক্তিকে সমর্থন করে চলতে হবে j জাভা.ইটিল.ক্লেকশন থেকে কিছু উদাহরণ আবার বিবেচনা করুন The প্রাক-জেনেরিক এপিআই দেখে মনে হচ্ছে:
interface Collection {
public boolean containsAll(Collection c);
...
}
এটিকে উদার করার একটি নিরপেক্ষ প্রচেষ্টা হ'ল:
interface Collection<E> {
public boolean containsAll(Collection<E> c);
...
}
যদিও এটি অবশ্যই নিরাপদ প্রকারের, এটি API এর মূল চুক্তি অনুসারে চলে না।
সমস্তআউট () পদ্ধতিটি যে কোনও ধরণের আগত সংকলনের সাথে কাজ করে। এটি কেবলমাত্র তখনই সফল হবে যদি আগত সংগ্রহটিতে সত্যিকার অর্থে কেবলমাত্র ই এর উদাহরণ থাকে তবে:
- আগত সংকলনের স্থিতিশীল প্রকারটি পৃথক হতে পারে, সম্ভবত কলার সংগ্রহের সঠিক প্রকারটি জানেন না কারণ বা সম্ভবত এটি একটি সংগ্রহ <S>, যেখানে এস ইয়ের একটি সাব টাইপ because
- এটি বিভিন্ন ধরণের সংকলন সহ সমস্ত () রয়েছে বলে কল করা পুরোপুরি বৈধ। রুটিন কাজ করা উচিত, মিথ্যা ফিরে। "