0

我创建了一个复合材料,它有两种方法

  • public void intItem(List dataList) //可以采用原始数据类型
  • public void vipInfoDataList(List dataList) // 可以采用自定义数据类型,例如:PlxVipInfo

[注意:我在复合剪切文件夹中定义“PlxVipInfo”数据类型并在复合类中导入] 然后我将复合作为 jar 并放入我的 protlet。然后调用这两个方法:

List<Integer> myCoords = new ArrayList<Integer>();
myCoords.add(10);
myCoords.add(20);

CommonWidget mycomposite = new CommonWidget();
//mycomposite.intItem(myCoords);[**Note: when i call it gives data**]
mycomposite.vipInfoDataList(vips);[**Note: when i call it gives error**] 

错误是:

compile-java:
[javac] Compiling 1 source file to /home/bglobal/liferay-sdk/portlets/customer-common-gridview-portlet/docroot/WEB-INF/classes
[javac] /home/bglobal/liferay-sdk/portlets/customer-common-gridview-portlet/docroot/WEB-INF/src/com/prolexic/portlet/proxy/client/PlxProxyServiceEntryPoint.java:174: vipInfoDataList(java.util.List<com.prolexic.composite.shared.PlxVipInfo>) in com.prolexic.composite.client.CommonWidget cannot be applied to (java.util.List<com.prolexic.portlet.proxy.shared.PlxVipInfo>)
[javac]                     mycomposite.vipInfoDataList(vips);
[javac]                                ^
[javac] Note: /home/bglobal/liferay-sdk/portlets/customer-common-gridview-portlet/docroot/WEB-INF/src/com/prolexic/portlet/proxy/client/PlxProxyServiceEntryPoint.java uses or overrides a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] 1 error

现在我该怎么办?

4

1 回答 1

0

ERROR 明确表示,自定义类型PlxVipInfo passing through vipInfoDataList() method and the one declared are diffrent

它们是 2 个不同的类,一个在包中com.prolexic.composite.shared,另一个在com.prolexic.portlet.proxy.shared.

因此,在这两个地方,同时作为参数传递并声明方法使用相同类型的 com.prolexic.composite.shared.PlxVipInfo 或 com.prolexic.portlet.proxy.shared.PlxVipInfo 如下代码片段 -

vipInfoDataList(java.util.List<com.prolexic.composite.shared.PlxVipInfo>);

public void vipInfoDataList(java.util.List<com.prolexic.composite.shared.PlxVipInfo>)
{
}

或者

vipInfoDataList(java.util.List<com.prolexic.portlet.proxy.shared.PlxVipInfo>);

public void vipInfoDataList(java.util.List<com.prolexic.portlet.proxy.shared.PlxVipInfo>)
{
}
于 2013-02-26T14:37:45.213 回答