Kotlin插座

我期待在Kotlin开发一个使用套接字的应用程序, 不幸的是kotlinx套接字被破坏,并没有达到与当前kotlin 1.1协程的connect 。 (我已经看到这个在7月16日已经被@sundwarf的github视为一个未解决的问题了) 具体来说,kotlinx.sockets的示例代码使用以下形式的连接: aSocket().tcp().connect(InetSocketAddress(InetAddress.getByName("google.com"), 80)) 这在这里有一丝痕迹 。 我正在寻找一个可用的连接的示例,或者向kotlix.sockets提供一个备用包的建议。 显然有许多kotlin应用程序使用套接字,所以要么有kotlinx.sockets的替代品,要么解决连接问题。

Intellij Idea中的失落Kotlin支持14.1

我在Kotlin有一个Android项目,在Idea 14中工作正常。但是在更新到14.1时,我似乎已经失去了在IDE中对Kotlin的支持。 没有选择创建一个新的Kotlin文件,右键单击包,没有语法高亮显示,自动完成等等任何Kotlin文件。 Kotlin插件已安装并启用。 还有谁遇到这个问题?

在Kotlin中测试预期的例外

在Java中,程序员可以为JUnit测试用例指定预期的异常,例如: @Test(expected = ArithmeticException.class) public void omg() { int blackHole = 1 / 0; } 我如何在Kotlin做这个? 我已经尝试了两种语法变体,但都没有工作: import org.junit.Test as test // … test(expected = ArithmeticException) fun omg() Please specify constructor invocation; classifier 'ArithmeticException' does not have a companion object test(expected = ArithmeticException.class) fun omg() name expected ^ ^ expected ')'

Aspectj不能和kotlin一起工作

我想在kotlin中使用aspectj aop,这里是我的代码: 我在annotation.lazy_list中的注释: 科特林: package anotation @Retention(AnnotationRetention.RUNTIME) @Target(AnnotationTarget.FUNCTION) annotation class lazy_list 我的课程: @Aspect class ActiveListAop{ @Pointcut("execution(@annotation.lazy_list * *(..))") fun profile() { } @Before("profile()") fun testModeOnly(joinPoint: JoinPoint) { println("123") } } 我的用法: @lazy_list fun all():List<T>{ return lazy_obj?.all() as List<T> } 当我打电话all()函数,没有错误,但不会打印“123”,为什么?

尝试在IntelliJ IDEA中运行Kotlin脚本

我正在通过做Kotlin Koans int IntelliJ EduKotlin插件( https://plugins.jetbrains.com/plugin/8186 )来学习Kotlin。 在执行任务并运行它们的情况下,这个插件正在运行,我无法创建新的Kotlin脚本并在没有此插件的情况下运行它。 示例代码在一个名为Hello.kt的文件中: fun hello() : String { return "ok" } 然后,我创建了从“Kotlin脚本”派生的新运行配置,将“工作目录”设置为ProjectName / src文件夹(或ProjectName文件夹,结果相同),然后IDE向我显示“无法找到脚本文件:Hello.kt”下面的屏幕: 事实上,在试图运行脚本时,我得到了以下堆栈跟踪: "C:\Program Files\Java\jdk1.8.0_74\bin\java" -Dfile.encoding=windows-1250 -classpath C:\Users\myUser\.IdeaIC2016\config\plugins\Kotlin\kotlinc\lib\kotlin-compiler.jar;C:\Users\myUser\.IdeaIC2016\config\plugins\Kotlin\kotlinc\lib\kotlin-reflect.jar;C:\Users\myUser\.IdeaIC2016\config\plugins\Kotlin\kotlinc\lib\kotlin-runtime.jar org.jetbrains.kotlin.cli.jvm.K2JVMCompiler -script Hello.kt exception: java.lang.RuntimeException: Failed to evaluate script: kotlin.KotlinNullPointerException at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileScript(KotlinToJVMBytecodeCompiler.kt:263) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileAndExecuteScript(KotlinToJVMBytecodeCompiler.kt:212) at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:181) at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:49) at org.jetbrains.kotlin.cli.common.CLICompiler.exec(CLICompiler.java:181) at org.jetbrains.kotlin.cli.common.CLICompiler.exec(CLICompiler.java:138) at org.jetbrains.kotlin.cli.common.CLICompiler.exec(CLICompiler.java:57) at org.jetbrains.kotlin.cli.common.CLICompiler.doMainNoExit(CLICompiler.java:248) at org.jetbrains.kotlin.cli.common.CLICompiler.doMain(CLICompiler.java:238) at […]

Kotlin – 如何正确连接字符串

一个非常基本的问题,在Kotlin中连接字符串的正确方法是什么? 在Java中,您可以使用concat()方法,例如 String a = "Hello "; String b = a.concat("World"); // b = Hello World 尽管如此, concat()函数不适用于Kotlin。 我应该使用+号吗?

如何使用Maven编译Java + Kotlin项目?

我试图编译有Kotlin类引用Java类的Maven项目。 这是我父母POM的一部分: … <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib</artifactId> <version>${kotlin.version}</version> </dependency> … <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${compiler-plugin-version}</version> <configuration> <source>${java-version}</source> <target>${java-version}</target> <encoding>${project.build.sourceEncoding}</encoding> </configuration> </plugin> <plugin> <artifactId>kotlin-maven-plugin</artifactId> <groupId>org.jetbrains.kotlin</groupId> <version>${kotlin.plugin.version}</version> <executions> <execution> <id>compile</id> <phase>process-sources</phase> <goals> <goal>compile</goal> </goals> </execution> <execution> <id>test-compile</id> <phase>process-test-sources</phase> <goals> <goal>test-compile</goal> </goals> </execution> </executions> <configuration> <scanForAnnotations>false</scanForAnnotations> </configuration> </plugin> 和POM的相关部分: <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib</artifactId> </dependency> … <plugin> <artifactId>kotlin-maven-plugin</artifactId> <groupId>org.jetbrains.kotlin</groupId> <configuration> <sourceDirs> <source>${project.basedir}/src/main/kotlin</source> […]

Kotlin清除了一个适配器

在Kotlin中清除适配器的最佳方法是什么? 我正在尝试清除回收站并更新值。 我正在使用LoaderManager,我有点陷入这种状态。

Kotlin生成评论文档

使用Java之前,我们曾经使用/**方法和一个不错的自动生成的文档才会出现。 不能用Kotlin做同样的事情。 此功能是否可用,默认打开? 我怎样才能打开它?

在Android中将Java与Kotlin结合

我在Android应用程序开发中从Java稍微转移到Kotlin,但是有些情况下我不想在Kotlin中编写代码,并希望用Java编写这些特定的案例: Kotlin删除了findViewByIds额外用法,这是省力的 我知道它现在是null-safety ,相反的Java总是触发与NullPointerException 还提供了Lambda表达式以及许多其他功能。 但是,仍然有一些我的代码不能写在Kotlin中,例如static成员non-primitive字段。 Kotlin注释实际上可以替代那些static members 。 但是喜欢Java的一些编码特性,不想离开它。 我的问题是可以将Java和Kotlin结合在一起吗?