可能重複:
Why can’t your switch statement data type be long, Java?爲什麼Java不能長時間切換原語?
爲什麼這樣的事情不可能?
private void importantFunction(long arg1) {
switch (arg1){
case 0:
// do stuff
break;
case 1:
// do other stuff
break;
default:
//do default stuff
break;
}
}
我理解long值的方式,它們和整數之間不應該有太大差別。
http://stackoverflow.com/questions/2676210/why-cant -your-switch-statement-data-type-be-long-java – bartlaarhoven
「爲什麼這樣的事情不可能?」它是我喜歡的Java語言之一,它旨在儘可能避免引入設計缺陷。如果你正在切換一個長期的價值,你做錯了什麼。 – Gimby
好吧,如果我要在大量數值之間切換,那麼這可能是一個糟糕的決定。但在我的情況下,我正在使用專有的API,這給了我很長的價值。我只是檢查值是否爲0,1或者還沒有設置,而簡單的演員就能以簡單的方式解決這個問題,但我很好奇Java爲什麼不允許它。具有整數值的糟糕設計可能沒有任何困難。 Integer類支持2 * 2^31-1不同的值。 –