Java与Kotlin接口声明

说我有这个Java和Kotlin接口: public interface JavaInterface { void onTest(); } interface KotlinInterface { fun onTest() } 为什么不能在没有构造函数的情况下创建Kotlin接口的实例? // this is okay val javaInterface: JavaInterface = JavaInterface { } // compile-time exception: interface does not have constructor val kotlinInterface1: KotlinInterface = KotlinInterface { } // this is okay val kotlinInterface2: KotlinInterface = object : KotlinInterface { override fun […]

kotlin中的数字是不可序列化的

我发现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<Device, Long?> { public fun findByName(Param("name") name: String): […]

Kotlin序列“跳过”前N个条目

如何“跳过”kotlin序列/列表的前N个条目? 我正在寻找相当于C#LINQ“skip”的kotlin。

Eclipse – 如何将Kotlin添加到Tomcat项目 – 编译Kotlin和Java文件

我需要帮助将Kotlin编译添加到现有的eclipse java tomcat项目中。 为了记录,我在Eclipse Oxygen 4.7上安装了Kotlin插件。 我已经成功地创建并运行了基于Gradle的Spring引导Kotlin rest api demo,并且可以编译和运行“Kotlin Only Projects”并使用我的其他java库 – 真棒。 但是现在我有了Kotlin,我想用它来工作我的其他“传统”Tomcat 8项目,它们是Java J2EE – 动态WTP …我想在Kotlin中编写的新servlet。 我希望能够在我之前的任何一个包中的java src文件夹中添加一个Kotlin类,所以当我构建一个战争的时候,所有的逻辑上都在一起。 IDE似乎没问题 – 我在一个包(在tomcat项目的Java src包文件夹中)创建了Kotlin类,它在解析,导入或依赖性方面没有问题。 我在想WOW !,现在好了重启WTP中的Tomcat服务器,我就可以执行我的Kotlin Servlet了。 没有 – 404 404 404。 我检查了WEB-INF / classes构建文件夹和所有的Java类文件…猜我看到了什么? 一个名为KotlinServlet.kt的文件(即我的测试servlet的名称,源版本不是编译类版本) 所以由于某些原因,build / package / deployment没有编译* .kt文件,只是复制它(也许这是默认的WTP部署)。 我不知道这是否可以通过“添加Kotlin自然”来解决,奇怪的是没有一个日食Kotlin菜单功能可供我使用。 如果我右键点击我的项目,我没有得到Kotlin菜单选项。 Eclipse声明插件已安装。 所以我的问题是: 鉴于现有的传统WTP Tomcat servlet项目,我们可以如何识别和编译* .kt文件? 如何以及为什么我没有Kotlin菜单功能? (我下载并测试了Oxygen Java和J2EE版本 […]

Android Kotlin ImageView绑定

如何将数据绑定到kotlin中的imageview? <ImageView app:photoFilePath="@{item.photoFilePath}" android:layout_width="60dp" android:layout_height="60dp" /> 这是我的班级,我已经实施: class OrderInfoFragment : BaseDialogFragment() { private lateinit var mOrderItem: OrderItem override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { val inflater = activity.layoutInflater val binding = DataBindingUtil.inflate<FragmentOrderInfoBinding>( inflater, R.layout.fragment_order_info, null, false) val view = binding.root binding.item = mOrderItem } @BindingAdapter("bind:photoFilePath") fun loadPhotoFilePath(imageView: ImageView, path: String) { } } 我已经尝试在伴侣对象中使用loadPhotoFilePath 。

Kotlin编辑列表

在Kotlin中编辑不可变List的最好方法是什么? 我明白, List实际上并不是不可变的,但是如果我将一个List传递给一个函数,并且我需要整个列表减去一个元素,那么是否有支持的方式来处理? 如果我想要一个额外的元素整个列表呢?

Kotlin默认的构造函数

这一切Kotlin片段是否相等? open class A // A() – explicit call of A default constructor class B : A() 使用super() : open class A class B : A { constructor() : super() } 使用super : open class A class B : A { constructor() : super } 没有指定: open class A class B : A { constructor() […]

了解Kotlin的特质

在Kotlin中,我们有可能创建一个“可能需要在呼叫方扩展类的特征”,比如 class Bar {} trait T1 : Bar {} class Foo : Bar, T1, T2, T3 {} class Wrong : T1, T2 //error: Wrong should extend Bar 我无法想象任何可以应用这种结构的流程。 谁能告诉我为什么我们需要它?

Kotlin RuntimeInvisibleParameterAnnotations属性:MyType(String)

我在Kotlin的参数枚举中遇到了一个问题,在与Dagger2集成之后,我在编译时得到了RuntimeInvisibleParameterAnnotaions属性:MyType(String)异常。 任何想法如何解决? 非参数枚举就像一个魅力 MyType的: enum class MyType constructor(val value: String) { ABC("123"), DEF("456"); } kotlin 1.0.2 with kapt generateStubs = true

如何检查kotlin中的“instanceof”类?

在kotlin类中,对于类类型T ,我有作为对象的方法参数(请参见kotlin doc)。 作为对象,我正在调用方法时传递不同的类。 在Java中,我们可以使用它的类的对象的instanceof来比较类。 所以我想在运行时检查和比较它是哪个类? 我如何检查kotlin中的instanceof类?