Kotlinの型変換に挑戦

基本的な型変換とカスタムクラスの型変換、リストの要素の型変換、列挙型の文字列への変換、 文字列から列挙型への変換、リストから配列への変換など、さまざまな型変換のサンプルプログラムです。 必要に応じて例外処理を追加してください。

※この記事は2023/10/28時点の情報です。

Main.kt

fun main(args: Array<String>) {
    //StringからIntに変換
    val stringNumber: String = "123"
    val intNumber: Int = stringNumber.toInt()
    println("StringからIntに変換")
    println("String: $stringNumber → Int: $intNumber")
    println("")

    //DoubleからShortに変換
    val doubleNumber: Double = 42.0
    val shortNumber: Short = doubleNumber.toInt().toShort()
    println("DoubleからShortに変換")
    println("Double: $doubleNumber → Short: $shortNumber")
    println("")

    //ParentClass型からChildClass型への変換(キャスト)
    val pc: ParentClass = ChildClass("Samurai", 1)
    println("ParentClass型からChildClass型への変換(キャスト)")
    if (pc is ChildClass) {
        val cc: ChildClass = pc
        println("Name: ${cc.name}, No: " + cc.no)
        println("")
    }

    //文字列のリストを整数のリストに変換
    val stringList = listOf("1", "2", "3")
    val intList = stringList.map { it.toInt() }
    println("文字列のリストを整数のリストに変換")
    println("String List: $stringList → Int List: $intList")
    println("")

    //列挙型から文字列への変換
    val day: Day = Day.SATURDAY
    val dayString: String = day.name
    println("列挙型から文字列への変換")
    println("Day: $day → Day as String: $dayString")
    println("")

    //文字列から列挙型への変換
    val dayString2: String = "MONDAY"
    // 文字列から列挙型への変換
    val day2: Day = Day.valueOf(dayString2)
    println("文字列から列挙型への変換")
    println("Day as String: $dayString2 → Day: $day2")
    println("")

    //リストから配列への変換
    val list = listOf(1, 2, 3, 4, 5)
    val array = list.toTypedArray()
    println("リストから配列への変換")
    println("List: $list → Array: ${array.joinToString()}")
}

//列挙型
enum class Day {
    MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}

// 仮想の親クラス
open class ParentClass(val name: String)

// サブクラス
class ChildClass(name: String, val no: Int) : ParentClass(name)

処理結果は次の通りです。

StringからIntに変換
String: 123 → Int: 123

DoubleからShortに変換
Double: 42.0 → Short: 42

ParentClass型からChildClass型への変換(キャスト)
Name: Samurai, No: 1

文字列のリストを整数のリストに変換
String List: [1, 2, 3] → Int List: [1, 2, 3]

列挙型から文字列への変換
Day: SATURDAY → Day as String: SATURDAY

文字列から列挙型への変換
Day as String: MONDAY → Day: MONDAY

リストから配列への変換
List: [1, 2, 3, 4, 5] → Array: 1, 2, 3, 4, 5

ここまでKotlinの型変換について解説してきましたが理解できましたか?

Kotlinのif文を覚えられましたか?

型変換はプログラミングにおいて一般的で重要な操作です。 せっかくなので確実に覚えておきましょう!

管理人情報