取代 switch.case的特殊优化

今天看到这样一个问题:

        如何将下面这一段Android代码优化成一句代码实现。

        if (gridnumber == 0) {
gsmsignal.setImageResource(R.drawable.gsmsignal_2);
} else if (gridnumber == 1) {
gsmsignal.setImageResource(R.drawable.gsmsignal_3);
} else if (gridnumber == 2) {
gsmsignal.setImageResource(R.drawable.gsmsignal_4);
} else if (gridnumber == 3) {
gsmsignal.setImageResource(R.drawable.gsmsignal_5);
} else if (gridnumber == 4) {
gsmsignal.setImageResource(R.drawable.gsmsignal_6);
} else if (gridnumber == 5) {
gsmsignal.setImageResource(R.drawable.gsmsignal_7);
} else if (gridnumber == 6) {
gsmsignal.setImageResource(R.drawable.gsmsignal_8);
} else {
gsmsignal.setImageResource(R.drawable.gsmsignal_1);
}
 

一般情况下,大家都会习惯性的使用Switch case 或者是if else 。

不过试着用另外一种方式写,是不是应该会好一点呢:

int[] res = new int[]{.......};//资源id 如: R.drawable.gsmsignal_1

gsmsignal.setImageResource(res[gridnumber]);

这样的话减少了不必要的代码,缺点就是资源文件已经写死。

    一记。。。

你可能感兴趣的:(android,代码优化,switch_case,if_else)