Kotlinでは、我々は、機能的な反射を達成するための2つの方法があります。一つは、以下のAPIを呼び出すjava.lang.reflectのJavaパッケージの反映である、他のはKotlinのAPI以下の直接呼び出しkotlin.reflectパッケージです。
直接バーコードに添付
data class KotlinGirl(
var name:String?=null,
var age:String?=null)
コンストラクタへの最初の
コードのみがいくつかの簡単なを反映し、コード、ほぼ残り使用
fun main() {
//java方式反射
var girlClass = KotlinGirl::class.java
val con= girlClass.getConstructor(String::class.java, String::class.java)
var newGirl=con.newInstance("love", "18")
print(newGirl)
//kotlin方式反射
var girl=KotlinGirl()
val con1=girl::age
con1.set("123")
print(girl)
}
KotlinGirlのJavaリフレクションを使用して最初に作成エンティティオブジェクト
kotlin自身の反射で第二は、オブジェクトの時代に新しいエンティティの値を変更し、
はるかに速くkotlinよりも、この公式の説明を比較し、最初のJavaのリフレクション何時間がありません、第二は、快適なkotlin非常にシンプルですが、コンストラクタは、我々はと反射法とメンバ変数のために試すことができ、あまりにも快適ではありません
最後に、反射とGroovyしたかった、とScalaの書き込みのいくつかは、あまりにも多くの写真は、書き込みは、それを分離