编程语言
首页 > 编程语言> > java-将instanceof与来自不同类的静态内部类一起使用

java-将instanceof与来自不同类的静态内部类一起使用

作者:互联网

public class A {
    static class B {
    }
}

public class C {
   void m(X x) {
      if (x instanceof A.B) { ... } // not working
   }
}

在这种情况下,是否有办法验证某个对象(x)是否实际上是某个类(A)的内部类(B)?

我收到此错误,但是很遗憾,我无法控制A类和B类.

The type A.B is not visible

解决方法:

我以评论的形式提出了这个答案,但经过一点思考(思考的方式,而不是编码的方式!),我将其变成了答案.

由于您无权控制A或B,并且B具有包访问权限,因此您只能从与A处于同一包中的类中看到它.因此,您可以做些什么-如果您不想将C移入相同的程序包-编写一个实用程序类-称为U-具有布尔函数,并带有X并返回它是否是AB的实例

标签:inner-classes,java
来源: https://codeday.me/bug/20191209/2096538.html