kotlin 对象(本地最终 class)不可序列化

kotlin object (local final class) not serializable

出于某种原因,我需要像下面这样在 kotlin 中构造一个对象,并且需要使用 rabbitTemplate.convertAndSend 发送到 rabbitMQ。但是当我这样做时,我得到一个错误

       var myObject = object {
            var name = "Object Name"
            var description = "Object Description"
        }

错误

SimpleMessageConverter only supports String, byte[] and Serializable payloads

我应该怎么做才能让 myObject 变成 Serializable

您的对象不是可序列化的。要修复尝试:

var myObject = object : Serializable {
    var name = "Object Name"
    var description = "Object Description"
}

请记住,为了在 class 更改的情况下进行一致的反序列化,您需要在伴随对象中声明常量 serialVersionUID,但它们对本地 class 不可用。