我有一个名为Layer的接口:
public interface Layer {}
和一个实现该接口的类VectorLayer
:
public class VectorLayer implements Layer {}
我还有一个以Layer
为参数的函数
public void create(Layer layer){}
我想使用create(new VectorLayer())
但是eclipse向我发出以下错误:
SelectFeature类型中的方法create(Layer)不适用 为参数(VectorLayer) VolexampleApplication.java / volExample / src / com / example / volexample
我认为通常它应该有效。那么这里的问题是什么?
PS:
VectorLayer
,Layer
和SelectFeature.create()
是来自VAADIN的openlayers包装器(库)的函数和类。
答案 0 :(得分:3)
你给出的例子应该可以正常工作。
您确定Layer
实施的VectorLayer
与SelectFeature
所需的{{1}}相同吗?您可以通过检查两个类中的导入(或提供完全限定名称,即包名称)来验证这一点。
答案 1 :(得分:1)
我会尝试帮助编译器:
final Layer layer = new VectorLayer();
SelectFeature.create(layer);