Java交换机匹配多个案例

时间:2016-07-02 15:08:12

标签: java switch-statement

我的代码段如下:

switch (status.getStatusCode()) {
     case LocationSettingsStatusCodes.SUCCESS:
          Log.d("Location", "onResult: success");
     case LocationSettingsStatusCodes.RESOLUTION_REQUIRED:
          Log.d(TAG, "onResult: resolution needed");

 }

status.getStatusCode()返回一个int,所有常量也是int 在切换块之前,我记录3个值status.getStatusCode()为0,LocationSettingsStatusCodes.SUCCESS为0且LocationSettingsStatusCodes.RESOLUTION_REQUIRED为6。 但是两个Log.d语句都被执行了。我不认为问题与我的代码有关,因为我用if-else执行了相同的逻辑。
可能是什么问题?

1 个答案:

答案 0 :(得分:0)

你需要一个休息声明。

如果没有这个案子,案件将会落入下一个案件......

switch (status.getStatusCode()) {
     case LocationSettingsStatusCodes.SUCCESS:
          Log.d("Location", "onResult: success");
          break;
     case LocationSettingsStatusCodes.RESOLUTION_REQUIRED:
          Log.d(TAG, "onResult: resolution needed");
          break;
 }