草庐IT

kotlin-stdlib-jdk

全部标签

java - 在 Kotlin 中使用具有函数类型的函数接口(interface)

从Kotlin调用Java代码时,有SAMconversion所以Java代码是这样的:adapter.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewview,intposition){//Dostuffhere}});可以是这样的:adapter.setOnClickListener{view,position->//Dostuff}现在,我正在做一个Kotlin项目,我想定义一个函数式接口(interface)作为事件监听器:interfaceOnSomeActionListener{f

android-studio - kotlin 中的全局对象声明

如何在kotlin中像在javaTextViewtv;中一样全局声明对象。或任何方法在不同的方法/函数中调用相同的变量。overridefunonCreate(savedInstanceState:Bundle?){super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)valtextView:TextView=findViewById(R.id.texfirst)asTextViewtextView.setOnClickListener{Toast.makeText(applicationCont

java - 为什么 Kotlin 的字符串插值在 Java 中连接字符串?

所以,基本上我想知道Kotlin的字符串插值在Java(反编译字节码)中的外观如何。起初我以为它会使用StringBuffer(或StringBuilder)或String.format(),但似乎它会进行连接。这样做真的是最优的吗?字符串池呢?这是我的Kotlin代码:funmain(args:Array){valage:Int=24varmySuperString:String="Datois${age}yearsold!"println(mySuperString)}这是我从*.class文件中反编译的Java代码:importjava.io.PrintStream;import

loops - 更改 Kotlin 中的循环索引

如何在Kotlin中修改循环变量?对于我的特殊情况,我有一个for循环,在该循环中,对于某些条件,我想跳过下一次迭代:for(iin0..n){//...if(someCond){i++//Skipthenextiteration}}但是,当我尝试这个时,我被告知“无法重新分配val”。 最佳答案 你不能改变当前元素,你需要使用while循环来代替:vari=0while(i你想做什么?有可能有更惯用的方法来做到这一点。如果您可以重构此逻辑以跳过当前迭代,为什么不使用continue:for(iin0..n){if(someCond

android - kotlin android中带有注释的抽象val

我可以写吗:@IdResabstractfungetHeaderId():Int在kotlin中使用val而不是fun?它提示我在写作时需要一个支持字段或委托(delegate):@IdRes在这种情况下,哪个是最惯用的?带有fun的单线或搞乱支持字段(我不习惯支持字段,也许是抗变化,我从未真正使用过它们,所以我认为它们不愉快) 最佳答案 由于抽象的val或var只是一个没有支持字段的函数,因此无法通过IdRes注释进行注释,但有一种解决方法。你可以这样使用它:@get:IdResabstractvalheaderId:Int编辑:

kotlin - 如何在 kotlin 中使用反射查找包中的所有类

是否可以在给定包中找到所有kotlin类?我也只需要带注释的类,但这没什么大不了的。有什么建议吗? 最佳答案 由于类加载器的实现,JVM上的Kotlin在这方面遇到了与Java相同的问题。ClassloadersarenotrequiredtotelltheVMwhichclassesitcanprovide,insteadtheyarejusthandedrequestsforclasses,andhavetoreturnaclassorthrowanexception.来源和更多信息:Canyoufindallclassesin

kotlin - var name : String? 和 var name: String 有什么区别

我是Kotlin编程语言的新手。我一直在用安卓开发应用程序。我发现了一个带有String?和String的数据类构造函数谁能让我明白这一点。dataclassPerson(varname:String?){//...}dataclassPerson(varname:String){//...} 最佳答案 当你使用?时,它告诉你,你也可以有空值。因为Kotlin强制执行nullsafety.查看以下代码中的注释:dataclassPerson(varname:String?){//Thiscanhavenullvaluealso//.

android - Kotlin 中的方法 hashMapOf()

谁能给我hashMapOf()方法的具体例子,我应该什么时候使用它?如果我这样做:valmap2:HashMap=hashMapOf()map2["ok"]="yes"表示初始化ma​​p2属性我可以使用。但就像Kotlin中的其他方法一样:valarr=arrayListOf("1","2","3")有什么方法可以像上面那样使用这种方法吗? 最佳答案 很简单:valmap=hashMapOf("ok"to"yes","cancel"to"no")print(map)//>>>{ok=yes,cancel=no}方法hashMapO

junit - Kotlin for assertThat(foo, instanceOf(Bar.class))

你会如何用Kotlin编写assertThat(foo,instanceOf(Bar.class))?好像不喜欢.class如果可能的话,我想要一个比assertTrue(fooisBar)更“精确”的断言 最佳答案 Bar::class返回KClass的实例,这是Kotlin等价于Java的Class.instanceOf方法需要Class实例,而不是KClass,所以你必须使用Bar::class.java。所以你的断言应该是这样的:assertThat(foo,instanceOf(Bar::class.java))有关Jav

java - 是否可以在 Grails 中使用 Kotlin?

导致我提出这个问题的一些基本事实:Groovy具有完整的Java互操作性Kotlin具有完整的Java互操作性Kotlin也可以编译成Java因此可以在Grails应用程序中编写Kotlin代码吗?我使用过很多Grails2.x,最近在一份新工作中我一直在使用Kotlin、Spring和Struts。我真的喜欢Kotlin的null安全性和类型推断功能,而且Kotlin的函数式编程功能感觉比Groovy更自然和易于使用(这最后一部分是纯粹的意见)。是否可以使用Grails来处理以下事情:ORM将请求映射到Controller/操作JSP/GSPView解析/渲染但使用Kotlin编写域