在复合中传递自定义数据类型列表

时间:2013-02-26 09:39:14

标签: gwt liferay composite

我创建了一个复合词,它有两个方法

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

[注意:我在复合剪切文件夹中定义“PlxVipInfo”数据类型并在复合类中导入] 然后我将复合材料制成罐子并放入我的样品中。 然后调用这两种方法:

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

现在该怎么办?

1 个答案:

答案 0 :(得分:0)

错误清楚地说,自定义类型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>)
{
}

OR

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

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