在开发中,我们经常需要写一些转换类,比如货币转换、编码转换等。在金融开领域中,经常需要将小写数字转换为大写数字,比如把“1”转换为“壹”,这些东西经常都需要自己写:
<pre code_snippet_id="315228" snippet_file_name="blog_20140427_1_9600955" name="code" class="java">public class toiChinessNumber {
public static void main(String[] args) {
// TODO Auto-generated method stub
toiChinessNumber t=new toiChinessNumber();
int num=1;
System.out.println(num+"转换为大写:"+t.toChinessNumber(num));
}
public static String toChinessNumber(int num){
String chinessNumber="";
switch(num){
case 1:chinessNumber="壹";
case 2:chinessNumber="贰";
case 3:chinessNumber="叁";
case 4:chinessNumber="肆";
case 5:chinessNumber="伍";
//...没写完
}
return chinessNumber;
}
}
咦,怎么错了呢?仔细一看原来case后面忘记加上break了。这里可能还比较好找到问题,简单测试就能发现,但在真实开发中,如果在一大片case中有一两个break遗漏就很难发现了,而且要在特定的参数下才能发现,有什么办法避免这个问题没?
经过查找资料,发现只要对eclipse进行警告级别的修改就能让eclipse提醒我们:
Performance -> Java -> Compiler -> Errors/Warnings -> Potential Programming problem
然后修改'switch' case fall-through 为error保存后,如果忘记在case语句后加入break,eclipse会直接显示一把红叉,这样就能避免忘记break的问题了。