【发布时间】:2018-12-21 09:34:35
【问题描述】:
寻找现代的方式来实现字符串翻译,以取代看起来很糟糕的 if-else 或 switch 结构:
if ("UK".equals(country))
name = "United Kingdom";
if ("GE".equals(country))
name = "Germany";
if ("FR".equals(country))
name = "France";
if ("IT".equals(country))
name = "Italy";
[...]
或
switch (country) {
case "UK": name = "United Kingdom"; break;
case "GE": name = "Germany" break;
case "FR": name = "France"; break;
case "IT": name = "Italy" break;
[...]
【问题讨论】:
-
switch有什么问题? -
在switch语句中需要注意break;编译器实际上没有检查的语句。我认为直到运行时才评估它是不安全的
标签: java oop design-patterns