Tag: Java

如何从Kotlin / Java中运行Kotlin-Script(.kts)文件?

我注意到IntelliJ可以将.kts文件解析为Kotlin,代码编辑器将它们作为自由浮动的Kotlin文件进行拾取。 你也可以在IntelliJ中运行脚本,就像使用main方法创建Kotlin文件一样。 该脚本从上到下执行。 这个表单对于我正在开发的项目来说是完美的,只要我知道从Java或Kotlin中使用它们的简单方法。 从Java或Kotlin“运行”这些脚本的惯用方法是什么?

在Gradle项目中混用Java和Kotlin,Kotlin无法找到Java类

正如标题所说,我试图在一个项目中混合使用Java和Kotlin。 这里有一个很好的例子。 混合-java-kotlin-hello-world 。 除了kotlin之外,一切正常,找不到任何在src / main / java / somepackage / SomeClass.java中找到的Java类 这是什么原因? 这是我得到的错误。 当我尝试编辑我的build.gradle时,它显示我不正确拼写kotlin,并给我错误的插件,但我从kotlins网站复制和粘贴。 我的build.gradle看起来像这样 group 'Battle-OS' version '1.0-SNAPSHOT' buildscript { repositories { mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.0.2-1" } } apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'idea' apply plugin: 'kotlin' repositories { mavenCentral() } dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib:1.0.2-1" testCompile 'junit:junit:4.11' […]

GridView.LayoutParams在Kotlin中不存在?

我想使用GridView并根据文档 ,在适配器中,我可以在适配器中使用此行: imageView.setLayoutParams(new GridView.LayoutParams(85, 85)); 那么,把它转换成Kotlin,它说: 它在Java中工作,但不在Kotlin中。 那么,为什么呢? 我怎样才能在Kotlin中使用GridView.LayoutParams ?

Kotlin JS和GWT互操作

Kotlin JS编译器从Kotlin代码发出Java脚本代码。 GWT从Java源代码发出Java脚本代码。 是否可以轻松地连接由Kotlin编译器生成的JS和由GWT编译器生成的JS? 怎么样?

Kotlin lateinit记者java

你好,当我使用Kotlin来编程Android我已经看到在代码中的lateinit 。 java中的等价物是什么?我怎么把这个代码从Kotlin改成Java? public class MyTest { lateinit var subject: TestSubject }

Kotlin中的静态初始化块

Kotlin中的静态初始化块相当于什么? 我明白,Kotlin被设计成没有静态的东西。 我正在寻找具有同等语义的东西 – 代码在第一次加载时运行一次。 我的具体使用情况是,我想从Android AppCompat库启用DayNight功能,并说明将一些代码放在Application类的静态初始化块中。

kotlin反映和vararg

我试图用kotlin替换Java,但是可变参数的传输有问题。 测试在Java中传递 public class ExampleUnitTest1 { @Test public void test() { a(1, 2); } public void a(Object… args) { b(args); } public void b(Object… args) { Class clazz1 = ExampleUnitTest1.class; try { Method method = clazz1.getMethod("add", Integer.class, Integer.class); method.invoke(this, args); } catch (Exception e) { e.printStackTrace(); } } public void add(Integer a, Integer b) { […]

实现Java接口 – Kotlin

刚开始使用Kotlin和我已经阅读官方文档,我正在从kotlin库中实现一个接口的问题。 这里是在java中的接口: public interface ResultCallBack { void detailsRetrieved(Obj var1, AnotherInterface var2); void anotherDataRetrieved(int var1, AnotherInterface var2); } 我从kotlin调用的方法是这样的: public static void startLibActivity(Context context, ResultCallBack callback) { sLuhnCallback = callback; context.startActivity(new Intent(context, Library.class)); } 我如何从kotlin调用startLibActivity并实现ResultCallBack 我认为我坚持这个试验: Library.startLibActivity(activity, {}) 我在{}内尝试了许多可能性,仍然存在正确实施的问题。

Kotlin的Class <?> clazz

Class<?> clazz如何在Kotlin中看起来像? 我试图把这个方法翻译成Kotlin代码,好像我被卡住了。 public static boolean isServiceRunning(Context context, Class<?> serviceClass)

Kotlin与Java的反射互操作性

在编写与Java和Kotlin兼容的反射代码时,开发人员应该注意哪些警告? 例如,我有一个使用反射的现有库,它与Java很好地协作。 但是,当我用Kotlin的时候,我的反射代码似乎没有拿起字段上的注释。 以下是我注意到的一些差异。 1.获取一个类的实例 // Example 1.1 – Java Class<?> userClass = User.class; // From a class name userClass = userInstance.getClass(); // OR from an instance 在Kotlin中获取Java类实例 // Example 1.2 – Kotlin val userClass = userInstance.javaClass // From an instance 我无法像在Java中那样在Kotlin中使用.class工具或.getClass()方法。 2.代表 当我在Kotlin类中使用委托属性时,我检索的属性具有$delegate后缀。 这与我们在Java中获得的字段有点相反(我明白Kotlin没有字段,只有属性)。 这如何影响元编程? 但是,对于代表,我发现大多数方法像在Java中一样保持其行为。 我还有什么其他的不同吗? 要使Java和Kotlin能够互操作,需要了解上面讨论的1以及Kotlin带给元编程的其他限制/差异。