考虑下一个场景:
void foo(Map<String, String> params) {
String myValue = params.get("myKey");
}
void bar(Map<String, String> params) {
String myValue = params.get("myKey");
}
// ... and so on
我想将 myKey 定义为私有静态最终变量:
private static final String MY_KEY = "myKey";
然后使用它:
void foo(Map<String, String> params) {
String myValue = params.get(MY_KEY);
}
这是一种好习惯还是我们可以做得更好?
答案 0 :(得分:3)
将重复的字符串文字提取为常量绝对是一种很好的做法,无论它是否用作Map中的键。
答案 1 :(得分:2)
如果您想使用行为驱动,最好将密钥添加为param:
void foo(Map<String, String> params, String key) {
String myValue = params.get(key);
}
关于常量,也可以将它放在Enum中,然后你可以在Enum中收集多个键。或者在Constants类中收集它们。由你决定。
唯一的问题是,你有一个虚空返回类型很奇怪。我希望String:
String getFooByKey(Map<String, String> params, String key) {
return params.get(key);
}