类型已知,但方法是指缺少类型

时间:2016-04-28 13:20:18

标签: java

我对java和Eclipse不是很熟悉,而且我遇到了以下问题:

我写的是:

Point3D myPoint = myClass.myMethod(arg);

我收到了错误:

  

方法myMethod(myType arg)引用缺少的类型Point3D。

但是类Point3D已知,我可以创建一个这种类型的对象(Point3D)而没有错误,我从自动完成中获得了Point3D个方法。

5 个答案:

答案 0 :(得分:0)

您显然在声明方法的类中使用了Point3D的不同实现,而不是您调用它的方法。

转到myMethod的声明,检查该类中Point3D的import语句是否与您调用myMethod的类中的import语句相同。

答案 1 :(得分:0)

我遇到了同样的问题。它通过将方法的返回值转换为所需类来解决 - 在您的情况下为Point3D

<Properties>
        <Property name="log-path">c:/logs</Property>
        <Property name="targetEnv">${spring.profiles.active}</Property>
    </Properties>

并且在另一个类调用中就像是

    private static ConcurrentHashMap<Long,HotelInfHQ> HASH_HOTELINF = new  ConcurrentHashMap<Long,HotelInfHQ>();

////

public static HotelInfHQ getHotelInfByKey (Long key){   
    return (HotelInfHQ)HASH_HOTELINF.get(key);
}

尽管ConcurrentHashMap HASH_HOTELINF是参数化的,Eclipse并没有在返回字符串中显示任何错误,但它在方法调用点返回的对象类别并不明显

答案 2 :(得分:0)

可能取决于您的上下文,但是在编译之前,我也遇到了同样的问题。通过最小化几行,确保Eclipse不会将导入语句隐藏在程序顶部。我不小心从先前的同名项目中导入了一个文件,并将其隐藏在顶部的import语句中:“ import A3.BST;”。只需扩展以查看行并删除import语句,就可以了。

答案 3 :(得分:0)

我遇到了同样的问题,我通过更改导入顺序解决了它。 我将引起问题的类放在包装后的导入列表的顶部,然后IDE(VS代码)不发出警报。

答案 4 :(得分:0)

如果您在没有实际正确配置的情况下启用了 Java 模块系统,则会发生这种情况。我决定移除 Java 模块系统并仅使用 maven 依赖项。在“Java Build Path”中确保正确定义了类路径依赖项。