首页 > 编程知识 正文

java arraylist方法,kotlin和java哪个容易

时间:2023-05-04 01:43:24 阅读:154334 作者:2426

您要在Android APP应用程序中创建可分配的数据对象以从activityA传递到activityB。

我的对象是传递所有数据,除了可用的服务类arraylist

dataclassavailableservice (valid : int,

val name :字符串,

val description :字符串,

val price :双精度,

val currency :字符串,

val imageurl : string } :可编程{

组件对象{

@jvmfield@suppress('unused”) ) ) ) ) ) ) ) ) ) ) ) ) ) )。

val creator=create parcel {可用服务(it ) }

}

保护性建构器(parcel in : parcel ) :this ) Parcelin.readint )、

parcelIn.readString ()、

parcelIn.readString ()、

parcelIn.readDouble ()、

parcelIn.readString ()、

parcelIn.readString () )

overridefunwritetoparcel (dest : parcel?flags: Int ) {

est? writeint(id ) )。

est? writestring(name )。

est? writestring(description )。

est? writedouble(price )。

est? writestring(currency )。

est? writestring (图像)。

}

override fun describeContents ()=0

}

上面是可用的服务类,下面是Trip。 那个有arraylist的可用服务。 我在调试中观察了那个。 那个成功写了arraylist。 由于某种原因,有读取数据的问题。

dataclasstrip (valid :字符串,

val status :字符串,

valorderedservices 3360阵列列表(: parcelable {

组件对象{

@jvmfield@suppress('unused”) ) ) ) ) ) ) ) ) ) ) ) ) ) )。

val creator=create parcel { trip (it ) }

}

protected constructor (parcel in : parcel ) :this ) Parcelin.readstring,

parcelIn.readString ()、

arrayListOf ().apply {

parcel in.read ArrayList (订单服务: class.Java.class loader ) )。

}

overridefunwritetoparcel (dest : parcel?flags: Int ) {

est? writestring(id ) )。

est? writestring(status )。

est? write list (有序服务) )。

}

override fun describeContents ()=0

}

万一有人想知道CREATOR的乐趣,代码如下。

inline fun createParcel (

crossinlinecreatefromparcel : (parcel )- T? ) : Parcelable.Creator=

object : Parcelable.Creator {

overridefuncreatefromparcel (source : parcel ) : T?=createfromparcel (源)

overridefunnewarray (size : int ) : array=arrayofnulls (size ) ) ) ) ) ) ) ) ) ) )。

}

再次,写成功了,但是读失败了。 我得到了空的arraylist。 我觉得那个部分是错误的:

arrayListOf ().apply {

parcel in.read ArrayList (订单服务: class.Java.class loader ) )。

}

有不同的读取/写入方法arraylist吗? 写错了吗? 读错了吗?

在此首先感谢您的协助!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。