在 if 语句中检查多个字符串的最佳方法

jam*_*ato 3 java string if-statement

在 if 语句中检查多个字符串的最干净的方法是什么,我希望能够检查用户所在的国家/地区是否使用欧元,我将其放入 ("???") 中。因为这有效。

\n\n
if (usercountry.equals("FRA") || usercountry.equals("FRA")|| \n    usercountry.equals("FRA") || usercountry.equals("FRA") || \n    usercountry.equals("FRA") || usercountry.equals("FRA") || \n    usercountry.equals("FRA") || usercountry.equals("FRA") ||\n    usercountry.equals("FRA")) {\n        costpermile = costpermile*1.42;   //(costpermile=\xc2\xa3)   (costpermile*1.42=Euros)\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

但看起来很糟糕

\n\n

顺便说一句,我不会一遍又一遍地检查法国的仍然原型代码,因此我没有先检查是否有更好的方法而进入每个欧元国家。

\n

Shr*_*van 5

1. 正则表达式

if (usercountry.matches("FRA|GER|ITA"))
{
    costpermile = costpermile*1.42; 
}
Run Code Online (Sandbox Code Playgroud)

2. 将国家添加到数据结构(Set)并检查

Set<String> eurocountries= new HashSet<String>();
eurocountries.add("FRA");eurocountries.add("GER");eurocountries.add("ITA");

if (eurocountries.contains(usercountry))
{
    costpermile = costpermile*1.42; 
}
Run Code Online (Sandbox Code Playgroud)

注意:我认为它是您正在寻找的正则表达式方法