Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 什么可以作为Kotlin中对象的替代品?_Java_Kotlin - Fatal编程技术网

Java 什么可以作为Kotlin中对象的替代品?

Java 什么可以作为Kotlin中对象的替代品?,java,kotlin,Java,Kotlin,我正在编写以下Kotlin代码,但编译时会出现错误 Null不能是ByteArray类型的非Null值 这是我的密码 fun myKafkaProducer(): MessageBusProducer<UUID?, Any>? { return if (serverProperties().isWAPKafkaSet) { val uuidSerializer = UUIDSerializer() val uuidDe

我正在编写以下Kotlin代码,但编译时会出现错误

Null不能是ByteArray类型的非Null值
这是我的密码

fun myKafkaProducer(): MessageBusProducer<UUID?, Any>? {
         return if (serverProperties().isWAPKafkaSet) {
            val uuidSerializer = UUIDSerializer()
            val uuidDeserializer = UUIDDeserializer()
            val topic = serverProperties().hmsTopic
            val serializer = KafkaProperties.Serializers(Function<UUID, ByteArray> { uuid: UUID? -> uuidSerializer.serialize(null, uuid) }, label@ Function<Any, ByteArray> { sapMessage: Any ->
                try {
                    return@label ObjectMappers.getObjectMapper().writeValueAsString(sapMessage).toByteArray()
                } catch (e: JsonProcessingException) {
                    e.printStackTrace()
                }
                null /*showing error here */
            }, null,
                    null
            )
            // set WapKafkaHostPortAddress in env (configuration repo)

           return KafkaMessageBusProducerFactory.Builder<UUID, Any>()
                    .kafkaAddressPropertyName("portAddress")
                    .topic(topic)
                    .messageBusTypeSerializers(serializer)
                    .build().create(true)

        } else {
           return null
        }
    }
fun myKafkaProducer():MessageBusProducer?{
返回if(serverProperties().isWAPKafkaSet){
val uuidSerializer=uuidSerializer()
val uuidDeserializer=uuidDeserializer()
val topic=serverProperties().hmsTopic
val serializer=KafkaProperties.serializer(函数{uuid:uuid?->uuidSerializer.serialize(null,uuid)},标签@Function{sapMessage:Any->
试一试{
return@labelObjectMappers.getObjectMapper().writeValueAsString(sapMessage.toByteArray())
}catch(e:JsonProcessingException){
e、 printStackTrace()
}
null/*此处显示错误*/
},空,
无效的
)
//在环境中设置WapKafkaHostPortAddress(配置repo)
返回KafkaMessageBusProducerFactory.Builder()
.kafkaAddressPropertyName(“portAddress”)
.主题(topic)
.MessageBustTypeSerializer(序列化程序)
.build().create(true)
}否则{
返回空
}
}
我正在尝试编写与序列化程序等效的代码


我还可以使用什么其他数据类型?

Kotlin中的
Object
的等效类型是
Any?
。只有这样才能返回null,因为类型
Any
不可为null,并且
Any?
可以为null