私はScalaを初めて使用し、Scalaの関数リテラル、高階関数などのサポートを使用して、このコードを何らかの方法でリファクタリングできるかどうか疑問に思っています。
大会とチームの間に関係がないので、これがどのように可能であるかわかりません。nameプロパティを含む特性をCompetitionandTeamに追加すると、それが可能になると思います。
他の選択肢はありますか?
class CompetitionDao extends BaseDao[Competition]{
def retrieveAllCompetitionNames(): java.util.List[String] = {
val competitions: java.util.List[_ <: Competition] = getDao().queryForAll()
val competitionNames: java.util.List[String] = new ArrayList();
for (competition <- competitions) competitionNames.add(competition.name)
competitionNames
}
}
class TeamDao extends BaseDao[Team]{
def retrieveAllTeamNames(): java.util.List[String] = {
val teams: java.util.List[_ <: Team] = getDao().queryForAll()
val teamNames: java.util.List[String] = new ArrayList();
for (team <- teams) teamNames.add(team.name)
teamNames
}
}