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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.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
Intellij idea IDEA能否在Kotlin中生成组件方法_Intellij Idea_Kotlin - Fatal编程技术网

Intellij idea IDEA能否在Kotlin中生成组件方法

Intellij idea IDEA能否在Kotlin中生成组件方法,intellij-idea,kotlin,Intellij Idea,Kotlin,正如上面所说: component1()和component2()函数是Kotlin中广泛使用的约定原则的另一个示例(请参见+和*等运算符以了解循环等)。只要可以调用所需数量的组件函数,任何东西都可以位于解构声明的右侧。当然,也可以有component3()和component4()等等 比如说, class Pair<K, V>(val first: K, val second: V) { operator fun component1(): K { ret

正如上面所说:

component1()和component2()函数是Kotlin中广泛使用的约定原则的另一个示例(请参见+和*等运算符以了解循环等)。只要可以调用所需数量的组件函数,任何东西都可以位于解构声明的右侧。当然,也可以有component3()和component4()等等

比如说,

class Pair<K, V>(val first: K, val second: V) {
    operator fun component1(): K {
        return first
    }

    operator fun component2(): V {
        return second
    }
}
类对(val-first:K,val-second:V){
运算符fun组件1():K{
先返回
}
运算符fun组件2():V{
返回秒
}
}

但是我认为手工输入这些方法很无聊。那么,在
IDEA

中是否有生成这些方法的方法,您可以让IDEA帮助您。以下面的示例为例,一个没有
componentX
函数的简单类:

class Ex(val a: Int, val b: Int)
然后对其进行解构,它不会编译:

val (a,b) = Ex(1,2)
如果您使用快捷方式,IDEA将为您提供一些解决问题的提示:


你可以让创意帮你。以下面的示例为例,一个没有
componentX
函数的简单类:

class Ex(val a: Int, val b: Int)
然后对其进行解构,它不会编译:

val (a,b) = Ex(1,2)
如果您使用快捷方式,IDEA将为您提供一些解决问题的提示:


尝试使用数据类

在这种情况下,您的类应该如下所示:

data class Pair<K, V>(val first: K, val second: V)
数据类对(val-first:K,val-second:V)

尝试使用数据类

在这种情况下,您的类应该如下所示:

data class Pair<K, V>(val first: K, val second: V)
数据类对(val-first:K,val-second:V)