1

たとえばクラスがある場合

data class Departments (
  val customerFacing: Commercial,  
  val warehouse: Operational,
  val accounting: Auditing) 

以下を達成するためのよりKotlinのような方法はありますか?

val list: MutableList<Sections<*>> = arrayListOf()
if(deparments.customerFacing != null) {  
   list.add(Section(manager, deparments.customerFacing)
}
if(deparments.warehouse != null) {  
   list.add(Section(manager, deparments.warehouse)
}
if(deparments.accounting != null) {  
   list.add(Section(manager, deparments.accounting)
}


data class Section<T>(val manager: String, val section: T)
4

2 に答える 2

1

@alfcope が述べたように、部門フィールドが null になる可能性がある場合は、null 許容型としてモデル化する必要があります。

次のことができます。

val result = listOf(departments)
    .flatMap { listOfNotNull(it.customerFacing, it.warehouse, it.accounting) }
    .map { Session(manager, it) } 
于 2019-10-10T20:53:55.143 に答える