public class A {
static class B {
}
}
public class C {
void m(X x) {
if (x instanceof A.B) { ... } // not working
}
}
Есть ли способ проверить, является ли какой-либо объект (x) на самом деле внутренним классом (B) какого-либо класса (A) в этом сценарии?Использовать instanceof со статическим внутренним классом из другого класса
Я получаю эту ошибку, но я, к сожалению, не имею никакого контроля над классами А и В.
Тип AB не виден
Если вы не можете сделать внутренний класс общедоступным (или переместите вызывающего абонента в тот же пакет, что и A). –