swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
JDK1.7之前switch(expre1)函式中,expre1是一個整數表示式,因此傳遞給switch和case語句的引數是int、short、char或者byte。
注意,對於精度比int大的型別,比如long、float、double,不會自動轉換為int,如果想使用,就必須強轉為int,如(int)float。
jdk1.7後,整型,列舉型別,boolean,字串都可以。jdk1.7並沒有新的指令倆處理switch String,而是通過呼叫switch中的String.hashCode,將String轉為int從而進行判斷。