如何将此Java代码转换为Kotlin代码

时间:2019-07-09 19:45:01

标签: spring-boot kotlin jackson

我正在学习弹簧靴。将此Java函数转换为Kotlin代码时,将报告错误。如何重写此kotlin函数?

Java代码:

private long saveOrderDetails(Order order) {
    @SuppressWarnings("unchecked")
    Map<String, Object> values =
        objectMapper.convertValue(order, Map.class);
    values.put("placedAt", order.getPlacedAt());
    long orderId =
        orderInserter
            .executeAndReturnKey(values)
            .longValue();
    return orderId;
}

科林代码:

private fun saveOrderDetails(order: Order): Long {
        val values = objectMapper.convertValue(order, Map<*, *>::class.java)
        values.put("placedAt", order.placedAt)
        return orderInserter
                .executeAndReturnKey(values)
                .longValue()
    }

Screenshot of error in kotlin code

这是自动将Java转换为Kotlin后出现的错误

在这里

objectMapper: com.fasterxml.jackson.databind.ObjectMapper
orderInserter: org.springframework.jdbc.core.simple.SimpleJdbcInsert

请建议如何解决这些错误。

1 个答案:

答案 0 :(得分:0)

如何删除<*, *>

            val values = objectMapper.convertValue(order, Map<*, *>::class.java)
            val values = objectMapper.convertValue(order, Map::class.java)