Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dictionary 递增可变映射值会导致可为空的接收器错误_Dictionary_Kotlin_Nullable_Mutable - Fatal编程技术网

Dictionary 递增可变映射值会导致可为空的接收器错误

Dictionary 递增可变映射值会导致可为空的接收器错误,dictionary,kotlin,nullable,mutable,Dictionary,Kotlin,Nullable,Mutable,我是科特林的新手,试着用谷歌搜索,但我不明白 示例如下: 代码: 有更干净的方法吗?您可以对任意字符使用索引运算符,即使这些字符不是映射的一部分,就像在不存在的键中一样。有两种明显的解决方案,要么抛出异常,要么返回null。正如您在文档中看到的,标准库在操作符fun get中返回null,索引操作符将其转换为: 另一种选择是getValue,描述如下: 返回给定[key]的值,如果映射中没有此类键,则引发异常 像这样使用:val v:Int=foo.getValue('A')啊,我现在明白了。

我是科特林的新手,试着用谷歌搜索,但我不明白

示例如下:

代码:


有更干净的方法吗?

您可以对任意字符使用索引运算符,即使这些字符不是映射的一部分,就像在不存在的键中一样。有两种明显的解决方案,要么抛出异常,要么返回
null
。正如您在文档中看到的,标准库在
操作符fun get
中返回
null
,索引操作符将其转换为:

另一种选择是
getValue
,描述如下:

返回给定[key]的值,如果映射中没有此类键,则引发异常


像这样使用:
val v:Int=foo.getValue('A')

啊,我现在明白了。谢谢
fun main(args: Array<String>) {
    val foo = mutableMapOf('A' to 0, 'C' to 0, 'G' to 0, 'T' to 0)
    foo['A'] = foo['A'] + 1
    println("$foo['A']")    
}
foo['A'] = foo['A']!!.plus(1)
/**
 * Returns the value corresponding to the given [key], or `null` if such a key is not present in the map.
 */
public operator fun get(key: K): V?