这个问题说明了一切......
从List的代码:
添加方法:
public boolean add(E e) { ... }
然而,删除方法:
public boolean remove(Object o) { .. }
这有什么具体原因吗?
我在java中有一个类,它有许多静态最终字符串和一个静态Locale变量.
这些字符串基本上是一个messagebundle的键,它使用语言环境返回翻译的字符串.
即
public static Locale locale = Locale.getDefault();
public static String MSG1 = Translator.get(locale, "MSG1");
//Similar Strings.
Run Code Online (Sandbox Code Playgroud)
此语言环境变量根据浏览器语言环境在运行时设置.但由于这些是静态变量,因此它们已使用默认语言环境进行初始化,并且对locale变量的更改没有任何影响.
每次locale变量变化时,有没有办法"重新加载"这些字符串?
我不想做出明显的改变(使所有字符串非静态并在构造函数/方法中初始化语言环境),因为这个类有很多消息(250+)并且在很多地方使用.
用例是有一组方法需要根据前一个是否已经返回来执行true.例如:
class Test {
boolean method1() {...}
boolean method2() {...}
boolean method3() {...}
...
void callAll() {
if(method1()) {
if(method2() {
if(method3() {
...
}
}
} else {
error();
}
}
}
Run Code Online (Sandbox Code Playgroud)
else所有的ifs 必须有一个.有没有更好的方法来处理这种情况?