Merhabalar, danısmak istediğim bir konu var.
Templateler konusunda bir sıkıntı yasıyorum. Sorum soyle:
Bir template A sınıfım olsun. yani A<T> tipinde bir sınıf.
class A<T> {
private T value;
public void setValue(T val);
public T getValue();
}
Ve bir fonksiyonum olsun. Bu fonksiyon tipi belli olmayan A sınıfı
turunden objeler listesi dondursun.
//...
List<A <?>> getContent();
//..
Ben, geri donus degeri ile alınan liste icinde donerek her bir
elemanın ilgili set fonksiyonunu cagırmak istiyorum. Fakat, liste
içindeki objeler <?> ile belirtidiği için A sınıfının setValue
fonksiyonuna arguman veremiyorum. Cunku aslında T tipi henuz belli
degil.
List<A<?>> content = obj.getContent();
for (A<?> element: content) {
element.setValue(T); //T olarak ne verebilirim?
}
Nasıl bir teknikle set fonksiyonunu calıstırabilirim. Arguman olarak
verdiğim degerler T nin değeri belli olmadığı için derleyici kızıyor.
NOT: Kullandıgım bu sınıf ve fonksiyonlar kutuphane elemanları. İmzalarını degistirmem gerekiyor. Bu sekilde kullanmam lazım. <?> yani "unknown" degerini kullanmam gerekiyor.
Değerli fikirlerinizi, onerilerinizi bekliyorum.
Şimdiden teşekkürler..
hozlem
|