SORU
18 EYLÜL 2009, Cuma


&Quot;T genel Bir dizi varargs bir parametre için oluşturulan çözmek ve derleyici uyarı " mümkün mü?

Bu söz konusu kod basitleştirilmiş bir genel sınıf genel tür parametreleri ile başka bir sınıfı kullanır ve varargs parametreleri: bir yöntem için genel türlerinden birini geçmesi gerekiyor

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);
    }

}

Herhangi bir doğru yol bu uyarı ile karşılaşmadan varargs yöntemi için genel parametre iletmekten var mı?

Elbette bir şey gibi

assembler.assemble("hello", new T[] { something });

genel diziler oluşturamıyor beri çalışmıyor.

CEVAP
18 EYLÜL 2009, Cuma


@SuppressWarnings("unchecked"), ekleme dışında hiç sanmıyorum.

bug report Bu daha fazla bilgi var ama derleyici genel türler dizileri değil zevk için kaynar.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • placeboing

    placeboing

    7 Mart 2006
  • Schmittastic Jr.

    Schmittastic

    19 Mart 2013
  • TotalxLuna

    TotalxLuna

    27 Kasım 2011