2009-07-09 15 views
5

Bayt dizisini alan bir yöntemi çağırmak için yansımayı kullanmaya çalışıyorum. byte [] on line (}, sınıf beklenen beklenen)Java: yansıma için ilkel bir dizi sınıfı almanın uygun yolu

Class myClass = anObject.getClass(); 
Class[] parameterTypes = 
{byte[].getClass();}; 

Ama bu işe yaramazsa:

yaptığım kapalı başlıyorum. Ne yapmam gerektiğini bilen var mı? Bir nesneye yayınla ve yöntemin bir nesne aldığını bildirir misin?

cevap

11

bu deneyin: çalışmıştır

Class[] parameterTypes = new Class[] {byte[].class}; 
+0

harika, teşekkürler. Neden gerçekten anlamıyorum Tamsayı [] x = {5}; ve Tamsayı [] y = {yeni Tamsayı (5)}; iş. – jbu

+0

Eh, 'Class [] parameterTypes = {byte []. Class}' da örnekleriniz gibi çalışır. Orijinal kodunuzdaki sorun, byte [] bildirimi üzerinde getClass() _instance_ yöntemini çağırmaya çalışıyor. – ChssPly76

+0

(Ve bu muhtemelen " []' olmalıdır. –