亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Kotlin Arraylist 與 Java Arraylist 的類型不匹配

Kotlin Arraylist 與 Java Arraylist 的類型不匹配

慕的地8271018 2023-06-28 15:44:29
目前正在開發一個應用程序,我決定用 Kotlin 編寫該應用程序。然而,應用程序與最初用 Java 編寫的單獨模塊進行交互。我有以下 Kotlin 數據類:data class BasketItem(        @SerializedName("id") var id :String ,        @SerializedName("parentID")  var parentID: String ,        @SerializedName("barcode")  var barcode : String ,        @SerializedName("guid")  var guid : String ,        @SerializedName("functionalName")  var functionalName : String ,        @SerializedName("posPosition")  var posPosition : Int ,        @SerializedName("itemvalue")  var itemvalue : ItemValue ,        @SerializedName("quantity")  var quantity :Int ){    constructor(): this("","","","","",0,ItemValue(),0)}data class ItemValue(        @SerializedName("costpriceexcl")  var costpriceexcl: Double ,        @SerializedName("costpriceincl")  var costpriceincl :Double ,        @SerializedName("sellingpriceExc")  var sellingpriceExc : Double ,        @SerializedName("sellingpriceIncl")  var sellingpriceIncl : Double  ,        @SerializedName("vatAmount")  var vatAmount : Double ){    constructor():this (0.0,0.0,0.0,0.0,0.0)}var basketitems: ArrayList<BasketItem> = ArrayList()我試圖將此 ArrayList 傳遞給用 java 編寫的模塊。我創建了具有相同參數的等效類縮寫的 java 等效類。我沒有包含構造函數、getter 和 setter。public class BasketItem{    public String id;    public String parentID;    public String barcode;    public String guid;    public String functionalName;    public Integer posPosition;    public ItemValue itemvalue ;    public Integer  quantity ;}public class ItemValue{    private Double costpriceexcl;    private Double costpriceincl;    private Double sellingpriceExc;    private Double sellingpriceIncl;    private Double vatAmount;    public ItemValue()    {    }
查看完整描述

1 回答

?
繁星coding

TA貢獻1797條經驗 獲得超4個贊

類型不同。這就像試圖將 a 傳遞List<String>給 a List<Integer>。

即嘗試將“Hello”、“World”列表放入期望 1,2,3 的列表中

在 Kotlin 或 Java 中,您不能僅通過引用將一種類型強制為另一種類型。

如果我們假設 Kotlin 模塊依賴于 Java 模塊。

僅在 Java 模塊中創建BasketItem,然后將其作為列表的類型,無論它是在 Kotlin 還是 Java 中。

var basketitems: ArrayList<BasketItem> = ArrayList()
List<BasketItem> basketItems = new ArrayList<>();


查看完整回答
反對 回復 2023-06-28
  • 1 回答
  • 0 關注
  • 237 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號