Convert Java File to Kotlin の後に その5 「String Templates」

面倒な文字列の連結.


private static final String SQL_CREATE_ENTRIES =
        "CREATE TABLE " + TasksPersistenceContract.TaskEntry.TABLE_NAME + " (" +
                TasksPersistenceContract.TaskEntry.COLUMN_NAME_ENTRY_ID + TEXT_TYPE + " PRIMARY KEY," +
                TasksPersistenceContract.TaskEntry.COLUMN_NAME_TITLE + TEXT_TYPE + COMMA_SEP +
                TasksPersistenceContract.TaskEntry.COLUMN_NAME_DESCRIPTION + TEXT_TYPE + COMMA_SEP +
                TasksPersistenceContract.TaskEntry.COLUMN_NAME_COMPLETED + BOOLEAN_TYPE +
        " )";

android-architecture/TasksDbHelper.java at todo-mvp · googlesamples/android-architecture

String Templates

「$」マークを使って簡潔に記述できます. ヒアドキュメントのような記述も可能です.

Basic Types - Kotlin Programming Language

これらを使うと上のJavaコードは以下のようになります.


private val SQL_CREATE_ENTRIES =
        """
        CREATE TABLE ${TasksPersistenceContract.TaskEntry.TABLE_NAME} (
            ${TasksPersistenceContract.TaskEntry._ID}$TEXT_TYPE PRIMARY KEY,
            ${TasksPersistenceContract.TaskEntry.COLUMN_NAME_ENTRY_ID}$TEXT_TYPE$COMMA_SEP
            ${TasksPersistenceContract.TaskEntry.COLUMN_NAME_TITLE}$TEXT_TYPE$COMMA_SEP
            ${TasksPersistenceContract.TaskEntry.COLUMN_NAME_DESCRIPTION}$TEXT_TYPE$COMMA_SEP
            ${TasksPersistenceContract.TaskEntry.COLUMN_NAME_COMPLETED}$BOOLEAN_TYPE )
        """

Convert Java File to Kotlin の後に その1「メンバとコンストラクタ」

Convert Java File to Kotlin の後に その2 「apply」

Convert Java File to Kotlin の後に その3 「Null Safety」

Convert Java File to Kotlin の後に その4 「lateinit」

Convert Java File to Kotlin の後に その5 「String Templates」


関連ワード:  AndroidKotlin開発