Tag: 方法重载

Kotlin:如果Java库有原始类型和盒装类型的重载,我该怎么办?

例如,FastUtil的IntArrayList有一个接受int (primitive)和Integer (boxed)的push方法,但是Kotlin把它们看作是同一个函数push(Int) ,所以我根本不能使用这个函数,因为函数是不明确的。 当Java库对原始类型和盒装类型都有重载时,我该怎么办? (ps我知道我可以使用add(int)方法,如果将来遇到这样的问题,我正在寻找如何处理。

在Kotlin中使用AudioRecord读取函数与平台类型的参数不匹配

我最近开始学习Kotlin的一个项目。 我有一个ByteArray buffer ,我想从一个AudioRecord对象recorder读入,如下所示: buffer = ByteArray(minBufSize) while (status === true) { buffer?.let { buffer -> minBufSize = recorder.read(buffer, 0, buffer.size) System.out.println("MinBufferSize: " + minBufSize) } } 这会引发一个错误: error: none of the following functions can be called with the arguments supplied: public open fun read(p0: ByteBuffer!, p1: Int, p2: Int): Int defined in android.media.AudioRecord public […]