String :: toByteArray()不能在Kotlin中编译[js]

时间:2017-10-21 11:22:00

标签: javascript kotlin kotlin-interop

以下代码无法在Kotlin Js中编译:

"My String".toByteArray()

任何想法为什么?

返回的错误是:

[INFO]
[INFO] --- kotlin-maven-plugin:1.1.51:js (compile-js) @ client ---
[INFO] Kotlin version 1.1.51 (JRE 1.8.0_144-b01)
[INFO] Compiling Kotlin sources from [C:\myproject\src\main\kotlin]
[ERROR] C:\myproject\src\main\kotlin\mypackage\MyFile.kt: (15, 48) Unresolved reference. None of the following candidates is applicable because of receiver type mismatch:
public fun Array<out Byte>.toByteArray(): ByteArray defined in kotlin.collections
public fun Collection<Byte>.toByteArray(): ByteArray defined in kotlin.collections
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:

相同的代码在非javascript Kotlin编译中编译:

[INFO] --- kotlin-maven-plugin:1.1.51:compile (compile) @ client ---
[INFO] Kotlin version 1.1.51 (JRE 1.8.0_144-b01)
[INFO] Compiling Kotlin sources from [C:\myproject\src\main\kotlin, C:\myproject\src\main\java]
[INFO] Module name is client
[INFO]

1 个答案:

答案 0 :(得分:3)

Kotlin / JS标准库中未提供

String.toByteArray函数。

该函数的

The documentation有一个关于平台和版本要求的部分。 JVM这意味着它只能在Kotlin / JVM上使用。