私はサービスコールを介して別のプロバイダを取得しています。このスイッチのケースを最小限に抑える方法は?
このベースでは、タブのセクションが異なります。このコードを最小化したいと考えています:
if(selectedProvider.equalsIgnoreCase("youtube")){
switch (tabName.toLowerCase()) {
case "songs":
sectionTab = "video";
break;
case "artists":
sectionTab="";
break;
case "albums":
sectionTab="channel";
break;
case "playlists":
sectionTab="playlist";
break;
}}
else if(selectedProvider.equalsIgnoreCase("soundcloud")){
switch (tabName.toLowerCase()) {
case "songs":
sectionTab = "track";
break;
case "artists":
sectionTab="artist";
break;
case "albums":
sectionTab="";
break;
case "playlists":
sectionTab="playlist";
break;
}}
else {
switch (tabName.toLowerCase()) {
case "songs":
sectionTab = "track";
break;
case "artists":
sectionTab = "artist";
break;
case "albums":
sectionTab = "album";
break;
case "playlists":
sectionTab = "playlist";
break;
}
}
マップを使用して翻訳の内容を判断することをお勧めします。 –
[コード内のスイッチを排除する方法]の可能な複製(0120-13-011) – Tom
はい、重複するスイッチを削除したい –