我对java和Eclipse不是很熟悉,而且我遇到了以下问题:
我写的是:
Point3D myPoint = myClass.myMethod(arg);
我收到了错误:
方法myMethod(myType arg)引用缺少的类型Point3D。
但是类Point3D
已知,我可以创建一个这种类型的对象(Point3D
)而没有错误,我从自动完成中获得了Point3D
个方法。
答案 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”中确保正确定义了类路径依赖项。