在同一个maven模块中可以混合使用Scala和Kotlin吗?

我正在使用由maven配置的Kotlin,正如这里所解释的: https : //kotlinlang.org/docs/reference/using-maven.html#compiling-kotlin-and-java-sources (但是只使用Java的src dir,用于Java和Kotlin文件)。 我们在工作一些Scala模块,按照这里所述进行配置: https : //dzone.com/articles/scala-in-java-maven-project 。 将两个maven插件放在一起的明显方式是行不通的。 斯卡拉不认识Kotlin文件。 在一个Maven模块中是否可以混合使用Java,Kotlin和Scala? 或者这些maven插件有冲突?

如何限制kotlin协同程序的最大并发性

我有一个序列(从File.walkTopDown),我需要在他们每个人上运行一个长时间运行的操作。 我想使用Kotlin的最佳实践/协同程序,但是我要么没有并行性,要么太多的并行性,并打“太多打开的文件”IO错误。 File(“/Users/me/Pictures/”).walkTopDown() .onFail { file, ex -> println(“ERROR: $file caused $ex”) } .filter { … only big images… } .map { file -> async { // I *think* I want async and not “launch”… ImageProcessor.fromFile(file) } } 这似乎并不是并行运行,而我的多核CPU从来没有超过1 CPU的价值。 有没有一种方法与协程运行“NumberOfCores并行操作”价值的延期工作? 我使用Kotlin Coroutines来查看multithreading ,首先创建所有作业然后加入它们,但这意味着完成序列/文件树遍历繁重的处理加入步骤之前,似乎… iffy! 将其拆分成一个收集和一个流程步骤意味着收集可以在处理之前运行。 val jobs = … the Sequence above… .toSet() println(“Found […]

为什么使用Kotlin“by”通过匿名子类?

我目前正在观看来自Google I / O 2017的video ,并遇到了Kotlin by特性。 下面的例子是为了避免在实际上只关心其中一个接口的时候实现接口的每一种方法。 by实施(从video): class MyListener : TransitionListener by EmptyTransitionListener { override fun onTransitionStart(transition: Transition) { } } object EmptyTransitionListener : TransitionListener { override fun onTransitionEnd(transition: Transition) {} override fun onTransitionResume(transition: Transition) {} override fun onTransitionPause(transition: Transition) {} override fun onTransitionCancel(transition: Transition) {} override fun onTransitionStart(transition: Transition) {} } window.sharedElementEnterTransition.addListener(MyListener()) […]

在Android Studio中转换后,Kotlintypes不匹配

我试图将现有的android代码转换为Kotlin代码。 但是,它显示以下错误 转换前的代码。 recyclerView.setAdapter(new RecyclerView.Adapter() { @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { LayoutInflater layoutInflater = getLayoutInflater(); return new RecyclerView.ViewHolder(layoutInflater.inflate(R.layout.item_restaurant2, parent, false)) { }; } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { } @Override public int getItemCount() { return 3; } }); 转换后的代码 recyclerView!!.setAdapter(object : RecyclerView.Adapter() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): […]

Rx和Kotlintypes推断中的generics函数引用失败

我在Kotlin写了一个方法: fun fetchDepositSession(): Completable = Observable.fromIterable(session.accounts) .map(DepositSession::DepositAccount) .toList() .doOnSuccess(depositSession::depositAccounts::set) .flatMapObservable(Observable::fromIterable) .map(DepositSession.DepositAccount::account::get) .toCompletable() 该行.flatMapObservable(Observable::fromIterable)正在导致一个错误:

如何在Kotlin中使用get()定义类的types属性

如何在Kotlin中使用get()来定义一个属性,它返回一个类,我在下面尝试,但不是编译 val targetActivity: Class get() = MyActivity.class

如何在Kotlin中编写扩展函数?

我只是想将我的正常function转换为Kotlin的扩展function。 这是我的function, fun hideKeyboard(activity: Activity) { if (activity != null) { activity.window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_SATE_HIDDEN) val view: View = activity.currentFocus if (true) run { val imm = activity.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager imm.hideSoftInputFromWindow(view.windowToken, 0) } } }

库使用Kotlin检测android中的内存泄漏

我正在使用泄漏金丝雀,以防止Android的内存泄漏 …使用Kotlin,这个库仍然工作? 还有另外一个Kotlin? 泄漏金丝雀可以根据源代码( 我是对的? ), 头部笨拙 ,从活动/片段传递到异步类的构造函数来检测,以及在用户离开活动时WeakReference没有正确使用的情况下当Async没有完成它的过程时,LeakCanary检测到内存泄漏。 它如何为Kotlin工作? 泄漏金丝雀是基于(其分析)生成的字节码 ,使用Java代码或Kolin之间真的没有区别?

Kotlin中的注释处理器:可为空的types

我正在Kotlin写我的第一个注释处理器。 我需要检查一个注释的属性的types,以知道是否可选。 客户端代码如下所示: @MyAnnotation var property: String? 在我的注释处理器中,我有一个来自javax.lang.model.element packpage的Element类实例,它代表了我注释的属性。 我可以做element.asType()来获取types的属性,但我不知道如何检查这个属性是否可选。

用`this`表示接收器时“标签在Kotlin中的位置

我是Kotlin的新手。 我很好奇在Kotlin中用前缀@或后缀@标记的区别。 我刚刚看到一个写SignInActivity@this的代码,看起来和this@SignInActivity完全一样。 这两个完全一样吗? 如果不是,两者有什么区别? 我试图在*@this表单上做一些研究,但是我找不到任何参考。 我只能find这个官方文档来演示this@* 。 如果有人能与我分享我应该去的正确的参考,那将是很好的。