0

2つのメソッドを持つコンポジットを作成しました

  • public void intItem(List dataList) //プリミティブ データ型を取ることができます
  • public void vipInfoDataList(List dataList) // 次のようなカスタム データ型を取ることができます: PlxVipInfo

[注: 複合せん断フォルダーで "PlxVipInfo" データ型を定義し、複合クラスにインポートします] 次に、複合を jar として作成し、protlet に入れます。次に、この 2 つのメソッドを呼び出します。

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 つの異なるクラスで、1 つはパッケージcom.prolexic.composite.sharedにあり、もう1 つは にあります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 に答える