问题标签 [kotlin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何在 Spring Boot 应用程序中记录活动配置?
我真的很想为 Spring Boot 使用 YAML 配置,因为我发现有一个文件显示在我的不同配置文件中哪些属性处于活动状态是非常可读和有用的。不幸的是,我发现设置属性application.yml
可能相当脆弱。
使用制表符而不是空格之类的事情会导致属性不存在(据我所知没有警告),而且由于我的 YAML 存在一些未知问题,我经常发现我的活动配置文件没有被设置。
所以我想知道是否有任何钩子可以让我掌握当前活动的配置文件和属性,以便我可以记录它们。
application.yml
同样,如果包含错误,有没有办法导致启动失败?要么是这样,要么是我自己验证 YAML 的一种方式,这样我就可以终止启动过程。
java - 有没有关于 Kotlin 中访问修饰符的文档?
我正在寻找有关 Kotlin 中访问修饰符的文档。但它没有找到。
我想知道并检查 Kotlin 和 Java 中包函数和差异保护修饰符的访问修饰符。
[已编辑] 我正在寻找 Jetbrians 的公开文件。
我找到了关于访问修饰符的线程。 http://devnet.jetbrains.com/thread/451236?tstart=0
guice - 在 Kotlin 中设置 Guice 绑定
我想设置 Guice 绑定,所以我在 Java 中创建了一个完美运行的模块:
然后我将此代码转换为 Kotlin:
不幸的是,这个类的 Kotlin 版本不再工作了。发生这种情况是因为 Kotlin 调用了它的内部方法public fun <A, B> A.to(that: B): Pair<A, B>
,而不是LinkedBindingBuilder<T>.to(Class<? extends T> c)
导致 Guice 绑定没有正确设置。
如何明确指定我要使用类方法而不是扩展函数?
android - 在 Kotlin 中编写具有特征的 Android 测试时出现 java.lang.VerifyError
我正在尝试为 Android 创建一个特征InstrumentationTestCase
,其中包含一个抽象属性和一个使用该属性的方法。不幸的是,当我运行此测试时,它会以java.lang.VerifyError
. 所以这是一个导致崩溃的代码示例:
这就是我从 logcat 中得到的:
当我将该printString()
方法设为扩展方法时,我的测试开始工作:
据我所知,该错误在 Dalvik 中,但我想确切地知道错误在哪里,为什么会发生以及如何更改我的特征的第一个版本以使此代码正常工作。
javascript - 如何使用 Kotlin 匿名类作为原生 JavaScript 函数的参数?
我正在为这个ThreeJS 类设置互操作层,并且该类的构造函数接受一个用于设置属性的对象。
以下是我希望在 Kotlin 中能够做的事情,是否有可能以时尚的方式使用异常对象?我最初正在考虑创建一个等效于要传入的可能周长的对象,问题是它会覆盖当前值,这不是我想要的。
kotlin - 使用 Kotlin 函数作为 Java SAM 类型
当从 Java API 调用需要 SAM(单一抽象方法)类型参数的方法时,是否有一致的方法将函数文字强制转换为正确的类型?我发现有时 Kotlin 函数工作得很好,而其他函数似乎没有任何一致性。
我有几个来自 Ratpack API 的示例:
使用 Kotlin 函数字面量调用时ChainAction.handler(String, Handler)
效果很好,例如:
类型推断context
是ratpack.handling.Context?
正确的。
另一方面,我正在尝试调用Guice.handler(LaunchConfig, Action<? super ModuleRegistry>, Action<? super Chain>)
但无法弄清楚如何让 Kotlin 函数代替第二个参数。这是否归结为使生活变得困难的泛型类型?
也许我期待 Kotlin 做一些它不是为它设计的事情,但第一个例子表明至少有一些SAM 类型的强制是可能的(Kotlin 对 Ratpack 很有趣Handler
)。
android - 如何将 Kotlin 错误链接到 Android Studio 中的源?
我在 Android Studio 中使用 Kotlin 插件,一切正常,除非在 make 过程中 Kotlin 文件中有任何编译错误或警告,消息窗口中产生的错误消息不可点击 - 点击它们不会带你到相应的文件(它适用于 Java 文件中的错误)
这是一个错误还是只是一些尚未实现的东西?我正在使用 Android Studio beta 0.8.6、构建工具 20.0.0 Kotlin 0.8.11、Gradle 1.12。
enums - Kotlin 中的枚举注解
我有一个由 Gson 序列化/反序列化的枚举:
不幸的是,我注意到 Gson 忽略SerializedName
注释并使用大写名称作为枚举值。我决定找出为什么序列化不能按预期工作,并发现 Kotlin 删除了枚举值的所有注释。如何使这些注释出现在生成的字节码中?
kotlin - 如何修复 Kotlin Web Demo 中的这个错误?
我是 Kotlin 的真正 n00b 并且刚刚开始使用它的demo。
问题解决方案很简单,但有一个错误
我不明白。它说
我既无法推断前者是如何推断的,也无法预期后者。特别是我不明白两个这样的假设来自一个方法调用。
我通过删除有问题的行来“修复”它,但我相信有人可以启发我。
java - “附加到该项目的某些 Kotlin 库的格式不受支持。请更新库或插件”
我已将 kotlin 插件安装到我的 android studio 项目中。代码符合问题。当我从 java 类调用它时它也会执行。它给了我警告“附加到这个项目的一些 Kotlin 库的格式不受支持。请更新库或插件”。IDE 中也无法识别 println() 函数。
测试.kt
构建.Gradle