我试图使用gradle-script-kotlin来自动化一个复杂的构建过程,使用IntelliJ作为编辑器。 按照上一个问题中的建议,一个同事在build.gradle.kts文件中得到了正确的语法高亮显示,但是,由于它的复杂性,我试图使用应用程序将它分成许多小文件例: apply { for (script in otherKotlinScripts) from(“buildscripts/$script.kts”) } 唉,完成似乎实际上工作build.gradle.kts 。 在其他kotlin脚本文件,免费函数和任何我import工作很好,但特定于这个task封闭的事情: task(“foo”) { // intelliJ can’t seem to figure out what the receiver is here, // task itself gets highlighted in red, and its members fail // to complete. } 有没有办法让intellij检测包含文件为gradle脚本?
我有一个对象列表( alist )。 A { val b : Int val c1 : Int val c2 : Int val d1 : Int val d2 : Int } 我想用b对它们进行分组,并计算每个组的c1+c2和d1+d2和,并将结果放在E个对象列表中。 E { val sum_of_c_types : Int val sum_of_d_types : Int } 如何使用任何集合内置函数在kotlin中实现? 注意: 我知道我可以使用reduce函数来创建临时A对象,但是这对于不要在代码中使用临时对象很重要。
所以我想尝试转换我们用Java编写的后端API源代码,并看看它是如何看起来(IIRC转换之前有一个预览),但一旦我做到了,它会自动开始转换所选文件夹中的所有文件,最后它要求代码更正,我回答了没有,因为我想取消它,现在我坚持一个破碎的代码基地没有其他选项比: 恢复到最后的git提交并重新实现从我身边完成的所有更改(我可以阻止它,但在转换之前提交,但是哦) 继续使用Kotlin编码,但我有代码错误,我不知道如何解决 我所要问的是,如果无论如何要将Kotlin转换回IntelliJ IDEA中的Java? 先谢谢你
大家都知道Android Studio可以直接运行java类的主要function,我想用这种方式在Android Studio中练习kotlin语法,我只是简单地写了一个Hello Word! 结果崩溃了: enter image description here Android Studio也是基于IntelliJ IDEA实现的,我想不出有没有可用的Android Studio来简单地编译kotlin文件,所以希望能给予回复,谢谢! 以下是一些配置信息: apply plugin: ‘java-library’ apply plugin: ‘kotlin’ dependencies { implementation fileTree(dir: ‘libs’, include: [‘*.jar’]) compile “org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version” } sourceCompatibility = “1.7” targetCompatibility = “1.7” buildscript { ext.kotlin_version = ‘1.1.3-2’ repositories { mavenCentral() } dependencies { classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version” } } repositories { mavenCentral() } […]
我从一段时间以来一直在使用Kotlin,但是我无法实现Kotlin中所有属性的非空types。 请看下面的代码,有一些场景我必须使用空types。 我知道我可以使用lateinit但在某些情况下,它不适合。 我怎样才能在我的代码中避免null? 如果任何人都可以重新编写没有空types的代码或纠正我的错误,对我来说,了解所有的东西已经足够了。 class MusicService : Service(), PlaybackManager.PlaybackServiceCallback { private val mDelayedStopHandler = DelayedStopHandler(this) private val eventBus = EventBus.getDefault() //How to avoid nullable types private var mMediaNotificationManager: MediaNotificationManager? = null private var mSession: MediaSessionCompat? = null var mSessionToken: MediaSessionCompat.Token? = null var mPlaybackManager: PlaybackManager? = null var mTransportControls: MediaControllerCompat.TransportControls? = null override fun […]
我有一个枚举类RoleType public enum RoleType { SYSTEM_ADMIN, PROJECT_ADMIN, USER; } 在我的User实体类,我有以下映射的枚举集合。 这是Java代码: @JsonProperty @ElementCollection @Enumerated(EnumType.STRING) @CollectionTable(name = “user_role”, joinColumns = @JoinColumn(name = “user_id”)) private Set roles; 我把这个User实体类转换成Kotlin ,这里是代码: @JsonProperty @Enumerated(EnumType.STRING) @ElementCollection @CollectionTable(name = “user_role”, joinColumns = arrayOf(JoinColumn(name = “user_id”))) var roles: kotlin.collections.Set? = null 转换后,hibernate抛出以下exception: Collection has neither generic type or OneToMany.targetEntity() defined: com.abmodel.User.roles 在Java之前它工作正常。 我也尝试像这样在@ElementCollection添加targetClass […]
什么是在Kotlin中增加可空Int的最简单和最好的可读方法? 除了这样做还有别的方法吗? var myInt: Int? = 3 myInt = if(myInt!=null) myInt+1 else null 如果myInt是简单的variables,这是相当好的,但是当myInt是更长的expression式时它可以长得很长。
目前正在学习Kotlin和翻译iOS应用程序,这包括在SQLite数据库上运行查询,我正在使用Anko SQLite扩展来运行查询,例如运行“SELECT * FROM QuoteType”我正在使用 val quoteTypes = database.use { select(QuoteType.TABLE_NAME).exec { parseList(classParser()) } } 我正在努力找出运行SELECT COUNT(recordId)FROM QuoteType 任何人都可以指向正确的方向吗? 干杯 斯图尔特
我想破坏这样的grpc消息。 message AskOrUpdateQuestionRequest { int64 user_id = 1; int64 product_id = 2; core.model.QuestionProfile question = 3; } message QuestionProfile { int64 id = 1; Question.Status status = 2; Question.Type type = 3; string title = 4; } 我试图破坏这个对象? (grpc消息)在kotlin val (title) = request.question 但是,它失败了一个错误。 解构typesQuestionModelProtos.QuestionProfile的声明初始化器! 必须具有“component1()”function 我怎样才能做到这一点 希望这是有道理的。 解决 :@Alex Filatov的答案帮助我解决了这个问题。
在Java中,可以用null初始化一个引用variables,例如一个Stringvariables可以被初始化为如下forms: String str = null; 但是在Kotlin中,重点是尽量避免使用null。 那么如何初始化一个属性而不使用null var str: String = …