如何循环的HashMap的Kotlin?
typealias HashMap<K, V> = HashMap<K, V> (source)
Run Code Online (Sandbox Code Playgroud) 我是Kotlin的新手.我想知道这两者之间的区别!!,并?在下面的代码.
我有两个片段首先使用!!mCurrentDataset而另一个?用于同一个变量.
if(!mCurrentDataset!!.load(mDataSetString.get(mCurrentDataSelectionIndex), STORAGE_TYPE.STORAGE_APPRESOURCE))
{
Log.d("MyActivity","Failed to load data.")
return false
}
Run Code Online (Sandbox Code Playgroud)
if(!mCurrentDataset?.load(mDataSetString.get(mCurrentDataSelectionIndex), STORAGE_TYPE.STORAGE_APPRESOURCE)!!)
{
Log.d("MyActivity","Failed to load data.")
return false
}
Run Code Online (Sandbox Code Playgroud)
提前致谢.
我已经声明了一个可重复的注释@Parameter中
科特林 如下:
@Repeatable
annotation class Parameter(val name: String);
Run Code Online (Sandbox Code Playgroud)
但是当我如下使用它时,编译器报告一个错误:
在1.8之前的JVM版本上只能重复具有SOURCE保留的注释
@Parameter("foo")
@Parameter("bar")
fun repeat() = 1;
Run Code Online (Sandbox Code Playgroud)
我敢肯定,我的工作jdk-8在
科特林。并且该选项jvmTarget也设置1.8为kotlin-1.1.2gradle插件。
问:为什么它不能正常工作?
sourceCompatibility = 1.8
targetCompatibility = 1.8
compileKotlin {
kotlinOptions{
jvmTarget = "1.8"
}
}
Run Code Online (Sandbox Code Playgroud) 我怎样才能申报一个空的收集mapOf,listOf并setOf在科特林?
我在下面声明了变量:
val occupations = mapOf(Pair("Malcolm", "Captain"), Pair("Kaylee", "Mechanic"))
val shoppingList = listOf("catfish", "water", "tulips", "blue paint")
val favoriteGenres = setOf("Rock", "Classical", "Hip hop")
Run Code Online (Sandbox Code Playgroud)
我想检查这些集合是否为空.
假设我们有以下内容:
val person = "Bill"
Run Code Online (Sandbox Code Playgroud)
有人可以解释这两者之间的区别:
val kClass1 = person.javaClass.kotlin
Run Code Online (Sandbox Code Playgroud)
VS
val kClass2 = person::class
Run Code Online (Sandbox Code Playgroud)
当我应该打电话给那个而不是另一个?
任何源代码示例将不胜感激.
Kotlin中的参照平等和结构平等有什么区别?
val a = File("/myfile.txt")
val b = File("/myfile.txt")
val sameRef = a === b
Run Code Online (Sandbox Code Playgroud)
和:
val a = File("/myfile.txt")
val b = File("/myfile.txt")
val both= a == b
Run Code Online (Sandbox Code Playgroud)