এটি প্রশ্নে কোডের একটি সরল সংস্করণ, একটি জেনেরিক শ্রেণি জেনেরিক ধরণের প্যারামিটার সহ একটি অন্য শ্রেণি ব্যবহার করে এবং জেনেরিক ধরণের একটিকে ভ্যারাগস পরামিতি সহ একটি পদ্ধতিতে পাস করতে হবে:
class Assembler<X, Y> {
void assemble(X container, Y... args) { ... }
}
class Component<T> {
void useAssembler(T something) {
Assembler<String, T> assembler = new Assembler<String, T>();
//generates warning:
// Type safety : A generic array of T is
// created for a varargs parameter
assembler.assemble("hello", something);
}
}
এই সতর্কতার মুখোমুখি না হয়ে জেনেরিক প্যারামিটারটি ভ্যারাগস পদ্ধতিতে যাওয়ার কোনও সঠিক উপায় আছে কি?
অবশ্যই কিছু
assembler.assemble("hello", new T[] { something });
আপনি জেনেরিক অ্যারে তৈরি করতে পারবেন না বলে কাজ করে না।