在Java 7 以后,switch語句可以用作String類型上。
從本質來講,switch對字符串的支持,其實也是int類型值的匹配。它的實現原理如下:
通過對case后面的String對象調用hashCode()方法,得到一個int類型的Hash值,然后用這個Hash值來唯一標識着這個case。
那么當匹配的時候,首先調用這個字符串的hashCode()方法,獲取一個Hash值(int類型),用這個Hash值來匹配所有的case,
如果沒有匹配成功,說明不存在;如果匹配成功了,接着會調用字符串的equals()方法進行匹配。
由此看出,String變量不能是null;同時,switch的case子句中使用的字符串也不能為null。
