Eclipse问题中的Java多包

Eclipse问题中的Java多包,java,eclipse,packages,instanceof,Java,Eclipse,Packages,Instanceof,我的源文件夹中有以下一组包。 包包括形状、模型和视图 假设我的模型文件夹中有一个类文件,其中包含以下代码: shapes.interfaceforshapes[][] temp = model.get2dshapearray(); if(temp[x][y].getClass().isInstance(shapes.cTriangle)){ } 请注意,在上述代码中,temp[x][y]将返回一个接口myshapeInterface 以及shapes文件夹中的

我的源文件夹中有以下一组包。 包包括形状、模型和视图

假设我的模型文件夹中有一个类文件,其中包含以下代码:

  shapes.interfaceforshapes[][] temp = model.get2dshapearray();


if(temp[x][y].getClass().isInstance(shapes.cTriangle)){

            }
请注意,在上述代码中,
temp[x][y]
将返回一个接口my
shapeInterface
以及shapes文件夹中的所有类都可以访问此接口

我说“类是否在我的cTriangle类型数组中”是否正确

我当前得到的错误是:

shapes.cTriangle无法解析为变量

但我不想匹配变量,我想测试它,而不是包形状中的类
cTriangle


感谢如果要检查对象是否是某个类的实例,请使用
instanceOf
操作符,而
isInstance
方法需要一个类的实例

  if( temp[x][y] instanceOf shapes.cTriangle) {//dosomething }

isInstance(Object)
不是这样工作的。您必须在类上调用它,并传入要匹配的对象。你会做:

shapes.cTriangle.class.isInstance(temp[x][y]);

假设
cTriangle
是一个类,并且
temp[x][y]
返回一个对象,并且您想检查该对象是否属于
cTriangle
类型,我喜欢这样,因此需要向上投票,但标记正确的简单性更容易理解