gpt4 book ai didi

java - 将 GsonBuilder 转换为 Kotlin

转载 作者:IT老高 更新时间:2023-10-28 13:39:58 24 4
gpt4 key购买 nike

有谁知道如何将这段代码转换成kotlin

GsonBuilder builder = new GsonBuilder();
builder.setLenient();
builder.registerTypeAdapter(Date.class, new JsonDeserializer<Date>() {
@Override
public Date deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
if (json.getAsJsonPrimitive().isNumber()) {
return new Date(json.getAsJsonPrimitive().getAsLong() * 1000);
} else {
return null;
}
}
});
return builder.create();

然后,我尝试了

val builder = GsonBuilder()
builder.setLenient()
builder.registerTypeAdapter(Date::class.java,.........)
return builder.create()

.....我不知道如何转换代码

最佳答案

您询问的代码行可以转换为以下 Kotlin 代码:

builder.registerTypeAdapter(Date::class.java, JsonDeserializer<Date> { 
json, typeOfT, context ->
if (json.getAsJsonPrimitive().isNumber())
Date(json.asJsonPrimitive.asLong * 1000) else
null
})

首先,Kotlin 支持 SAM conversion of lambdas to Java interfaces , 但语法与 Java 不同。那么,lambda 中的返回值与 Java 中的含义不同,应替换为 implicit returns。或 labeled returns .

关于java - 将 GsonBuilder 转换为 Kotlin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44050597/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com