今天早上我感到好奇,如果有人有更好的方法来做这件事,我在徘徊
if(TAG_PLAY.equalsIgnoreCase(e.getActionCommand())
||TAG_PASSWORD.equalsIgnoreCase(e.getActionCommand())
||...
){
我预感可以通过做类似的事情来改善
创建1个大字符串并在其中寻找e.getActionCommand()
但我不知道这是否会更有效
注意:这与getActionCommand无关,我对逻辑,性能以及执行相同操作的新方法/模式完全感兴趣。
编辑:我不考虑大小写的辩论^^
编辑:
这个怎么样:
s = TAG_PLAY+","+TAG_PASSWORD;
//compareToIgnoreCase is not optimal since it will go through all the String
if(0!=s.compareToIgnoreCase(anotherString)){
最佳答案
您是否考虑过使用Set.contains(Object)?
例如:
Set<String> cases = new HashSet<String>();
cases.add( TAG_PLAY.toLowerCase() );
cases.add( TAG_PASSWORD.toLowerCase() );
...
if ( cases.contains( e.getActionCommand().toLowerCase() ) {
...