我发现kotlin中的数字不可序列化.
>第一个问题
Device.kt:
package test.domain
import javax.persistence.*
Entity public class Device {
public Id GeneratedValue var id: Long = -1
public var name: String = ""
...
}
DeviceRestRepository.kt:
package test.domain
import org.springframework.data.repository.PagingAndSortingRepository
import org.springframework.data.repository.query.Param
import org.springframework.data.rest.core.annotation.RepositoryRestResource
RepositoryRestResource(collectionResourceRel = "device",path = "device")
public trait DeviceRestRepository : PagingAndSortingRepository
我尝试编译此代码时出错,因为kotlin.Long不是Serializable:
Error:(14,72) Kotlin: Type argument is not within its bounds: should
be subtype of ‘java.io.Serializable?’
>第二个问题
我尝试使用java.lang.Long时遇到同样的错误:
DeviceRestRepository.kt:
package test.domain
import org.springframework.data.repository.PagingAndSortingRepository
import org.springframework.data.repository.query.Param
import org.springframework.data.rest.core.annotation.RepositoryRestResource
RepositoryRestResource(collectionResourceRel = "device",java.lang.Long?> {
public fun findByName(Param("name") name: String): List
Warning:(14,72) Kotlin: This class shouldn’t be used in Kotlin. Use
kotlin.Long instead.Error:(14,72) Kotlin: Type argument is not
within its bounds: should be subtype of ‘java.io.Serializable?’
最佳答案
至于Kotlin 1.0 Beta 1原始类型是可序列化的:
原文链接:https://www.f2er.com/spring/431527.htmlInt is Serializable
Now the type Int and other basic types are Serializable on the JVM. This should help many frameworks.
从:
http://blog.jetbrains.com/kotlin/2015/10/kotlin-1-0-beta-candidate-is-out/
因此,您不再有任何问题.