我正在尝试将String转换为Kotlin中的ByteArray 。 在Java中,我们可以使用getBytes()方法进行转换。
如何在Android Kotlin语言中处理EditText上的Enter键?
我来自Java背景,第一次在Kotlin工作。 对于大多数人来说,这将是一个基本的问题,但它可能会帮助开始在Kotlin上工作的人,来自Java背景 所以,让我说我有listadapter,我想设置在该项目的列表。 我现在有两个选择。 1)创建一个存储项目列表的私有属性,然后创建一个setter,它设置列表并调用notifydatasetChanged() 2)创建一个属性设置属性function,然后访问像instance.property 在上述两个选项中,Kotlin会是更好的选择。
Kotlin如何运行以下代码? 将5000000个整数的集合创建为临时集合还是将filter将其结果立即送到forEach ,这意味着只有20个整数将被查看? 如果不是,我将如何能够避免中间收集? 码: class Tests { @Test fun test() { var counter = 0 (1..10_000_000).filter { it % 2 == 1 }.forEach { counter++ if (counter > 10) return } } }
kotlin中的代码会是什么样子,似乎没有什么工作我尝试: public interface AnInterface { void doSmth(MyClass inst, int num); } 在里面: AnInterface impl = (inst, num) -> { //… }
在Kotlin(1.0.6)中,通过reflection我需要遍历一个类的成员(我们称之为Foo ),并根据返回types做一些事情。 我可以写下面的,这是有效的: Foo::class.members{ m -> if(Integer.TYPE.isAssignableFrom(m.returnType.javaType as Class)){ //do something here } else if … } 问题是if语句(处理kotlin.Int )相当难看。 Kotlin有没有更好的方法可以实现相同的结果,而不必直接依赖Java API?
使用Java后,我开始学习Kotlin,试图用Kotlin创建回收站,但每次都要到达这个代码: recyclerview!!.layoutManager = LinearlayoutManager(context) 里面的一个片段,它总是为我返回null,并通过转换现有的Java代码在Android Studio中使用转换器返回error.Can任何人都可以帮助我为什么这总是发生? 下面的代码是我目前的片段代码: import android.os.Bundle import android.support.v4.app.Fragment import android.support.v7.widget.LinearLayoutManager import android.support.v7.widget.RecyclerView import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import kotlinx.android.synthetic.main.fragment_notes.* import java.sql.Timestamp class NotesFragment : Fragment() { companion object { fun newInstance(): NotesFragment { return NotesFragment() } } override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? { val view = inflater?.inflate(R.layout.fragment_notes, […]
我正在尝试使用Mockito模拟Kotlin中的通用接口。 但到目前为止,我没有find自然的解决办法。 鉴于: interface X { fun x(): T } fun f(x: X) = xx() 我可以用下面的任何一个来模拟X : val x = f(Mockito.mock(X::class.java) as X) 但是这会产生一个“不受控制的投射”的警告。 @Mock lateinit var x: X 但我不想使用@Mock注释,因为我喜欢让我的字段最终。 引入一个辅助函数,就像mockito-kotlin库所做的那样: inline fun mock(): T = Mockito.mock(T::class.java)!! 然后像这样调用它: val x: X = mock() 但我不想使用帮助函数。 有没有一个优雅的纯Kotlin方式来模拟与Mockito的通用接口? (我更喜欢1的版本,没有警告。)
在Kotlin中,如果要使用forEach的元素,则可以使用it关键字。 所以现在我想知道如果我有一个forEach里面forEach ,我该怎么做: list.forEach { val parent = it it.forEach { // `it` now become the element of the parent. } } 我认为只为命名约定定义一个新的variables是如此愚蠢。 有任何其他的解决方案,这个问题?
由于new不是kotlin中的关键字,我可以在kotlin中具有以下function。 fun new(): String { return “just returns some string” } 但是我无法从java调用这个函数,因为new是java中的一个关键字。 我想知道在java领域是否有这个函数的别名。 我没有find任何可能是这个函数的别名的intellij建议。 编辑1 : 我已经在kotlin中编写了下面的代码: fun new(): String { return “just returns some string” } fun main(args:Array){ new() } 我看了一下java字节码。 这是如下。 // ================MainKt.class ================= // class version 50.0 (50) // access flags 0x31 public final class MainKt { // access flags 0x19 public […]