2017-07-18 21 views
0

Kotlinで変数の型を見つけるにはどうすればよいですか? Javaでは はinstanceofありますが、Kotlinは存在しません:Kotlinで変数の型を取得する

val properties = System.getProperties() // Which type? 

答えて

7

あなたがそれを行うにリフレクションを使用することができます。

val widget = ... 
println("${widget::class.qualifiedName}") // with package name or... 
println("${widget::class.simpleName}") // ... only class name 

ご注意:Javaプラットフォーム上で

、 リフレクション機能を使用するために必要なランタイムコンポーネントは、個別のJARファイル (kotlin-reflect.jar)として配布されます。これは、リフレクション機能を使用しないアプリケーションに対して、実行時ライブラリ の必要なサイズを減らすために行われます。 リフレクションを使用する場合は、.jarファイルがプロジェクトのクラスパスに に追加されていることを確認してください。

出典:https://kotlinlang.org/docs/reference/reflection.html#bound-class-references-since-11

は、特定のタイプをテストするためには、あなたはis演算子を使用することができます。

if(widget is Widget) { 
    // ... 
} 
関連する問題