Bu muhtemelen daha önce sorulmuştur, ancak hızlı bir arama sadece C # için aynı soruyu gündeme getirdi. Buraya bakın.
Temelde yapmak istediğim, belirli bir nesnenin belirli bir arabirimi uygulayıp uygulamadığını kontrol etmektir.
Ben bir çözüm anladım ama bu sadece veya durum ifadelerinde sık kullanmak için yeterince rahat değil ve Java yerleşik bir çözüm olup olmadığını merak ediyordum.
public static Boolean implementsInterface(Object object, Class interf){
for (Class c : object.getClass().getInterfaces()) {
if (c.equals(interf)) {
return true;
}
}
return false;
}
EDIT: Tamam, cevaplarınız için teşekkürler. Özellikle Damien Pollet ve Noldorin için, tasarımımı yeniden düşünmemi sağladın, böylece artık arayüzleri test etmiyorum.