オプションの値を定義せずに初期化するクラス

ラウル:

私は、クラスを初期化について質問があります。私は、オプションの値を定義せずに初期化したいプロファイルデータのクラスを持っています。どうやってやるの?以下のように私は、データクラスを作成する場合:

data class Profile(
  val id: Long,
  val email: String,
  val password: String,
  val photo: String?
)

val profile = Profile(id = 1, email = "", password = "")

私のIDEは、写真が定義されていないことに関するエラーを与えています。私はまた、写真がNULLであることも可能でなければなりません原因、デフォルト値を設定したくない、と私はそれを上書きしたくありません。

レオ阿蘇:

あなたはそれになりたい場合はnull、デフォルトでは、明示的ヌルに設定する必要があり、その周りに方法はありません。Kotlinは意図的にJavaのと異なっている一つの側面には、変数がされていることである、これまで暗黙のデフォルト値を与えられていません。それがNULL可能である場合でも、あなたは自分自身をnullに設定する必要があります。

data class Profile(
  val id: Long,
  val email: String,
  val password: String,
  val photo: String? = null
)

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=315485&siteId=1