2012-05-03 14 views
43

Yaptığım bir sınıftaki bir yönteme erişmeye çalışıyorum, ancak ad ve argüman sayısı benzer olduğundan, IDE yöntemimin belirsiz olduğunu söylüyor. Ben yöntemine denilenJava'da aynı adla iki yöntem arasında nasıl seçim yapılır

methodName(X, Y, Z) 
methodName(A, Y, Z) 

ve benim testin amacı için ilk argümanının null geçti: İşte iki yöntem nasıl göründüğünü bir mock-up kullanıcısı. Ne yazık ki, yöntemleri yeniden isimlendiremiyorum, argümanların sırasını değiştiremiyorum veya yöntemin yapısını herhangi bir şekilde değiştiremiyorum. Bu iki yöntem arasında ayrım yapabileceğim bir yol var mı?

+37

Bu API'yi kimin tasarladığını öğrenin, nerede yaşadığını ve evlerini yaktığını öğrenin. – alexg

+1

@alexg Bunu daha önce vurmayı hatırlıyorum gibi görünüyor; Örneğin yeni Thread (null, "name") olması pek olası değil. – Neil

+7

@alexg Sorunun cevabı "Yaptığım bir sınıftaki bir yönteme erişmeye çalışıyorum" kullanıcı1373493 kendi evlerini yakabilir veya API'yi yeniden tasarlayabilir. – emory

cevap

91

Cast örneğin, aramak istediğiniz yöntemin ilk parametre türüne ilk argüman:

methodName((A) null, y, z); 
+0

Teşekkürler, bir cazibe gibi çalıştı. – tamuren

0

Eğer yöntem listesine elde etmek nesne üzerinde yansıma kullanabilir miyim? Eğer öyleyse, o zaman sizin için uygun olan yöntemi açıkça kullanabilirsiniz. Ben fitedigit'in cevabinin muhtemelen daha iyi olduguna inanıyorum ...

İlgili konular