HOWTO · Kotlin

Kotlin で SimpleName を取得する

この記事では、Kotlin でクラスの SimpleName を取得する簡単な方法を紹介します。 これは、Java の getSimpleName() メソッドに相当するものを示しています。

このページの内容

Jave の getSimpleName() メソッドを使用すると、オブジェクトのクラスの SimpleName を取得できます。 クラスの名前を取得するには、次の方法でメソッドを使用できます。

String var = objectName.getClass().getSimpleName();

しかし、このコードを Kotlin に変換して実行し、クラスの名前を取得しようとすると、エラーがスローされます。

では、Kotlin で SimpleName を取得するにはどうすればよいでしょうか。 この投稿では、Kotlin でクラスの SimpleName を取得する同等の方法を紹介します。

KClass を使用して Kotlin で SimpleName を取得する

Kotlin でクラスの SimpleName を取得する最も簡単な方法は、KClass を使用することです。 KClass は Kotlin のクラスへの参照を保持し、イントロスペクション機能を提供します。

::class 参照を使用して、KClass を使用してクラスの SimpleName を取得できます。

さて、SimpleName を取得するには、2つの方法があります。 ::class.simpleName を使用するか、::class.java.simpleName を使用できます。 両方の方法を使用します。

::class.simpleName を使用して Kotlin で SimpleName を取得する

クラスの SimpleName を取得するには、::class.simpleName を、クラスの名前を取得したい変数またはオブジェクトと共に使用する必要があります。 同じ例を次に示します。

fun main() {
    val v = "Android programming!"
    println(v::class.simpleName)
}

出力:

Kotlin で ::class.simpleName を使用してクラス SimpleName を取得

実行コード

::class.java.simpleName を使用して Kotlin で SimpleName を取得する

ここでは、単語 java を追加するだけです。 class.simpleName と同じことを行い、Kotlin クラスの SimpleName を取得します。

fun main() {
    val v = "Android programming!"
    println(v::class.java.simpleName)
}

出力:

::class.java.simpleName を使用して、Kotlin でクラス SimpleName を取得する

実行コード

クラスを作成してその SimpleName を取得する

独自のクラスを作成し、KClass を使用してその SimpleName を取得することもできます。 大規模なプロジェクトで作業しているときに、作成したクラス SimpleName を取得する必要がある場合があります。

複数のプログラマーでプロジェクトに取り組んでいる場合、別のプログラマーがさまざまなメソッドを実行するために使用するために構築した可能性のあるクラス SimpleName を取得する必要がある場合があります。

定義するクラスでの ::class.simpleName の使用を示すコード例を次に示します。

class exampleClass {
    private var v: String = "Kotlin"
}
fun main(args: Array<String>) {
    val ob1 = exampleClass() // Object ob1 of exampleClass
    println(ob1::class.simpleName)
}

出力:

作成したクラス SimpleName を取得するために KClass を使用する

実行コード