0

我正在实施Camera2,并且在设置相机输出时收到以下警告(我无法重现可能发生的任何“npe”)(我从google示例中获取我的代码)以下行给我以下警告:

“‘characteristics.get(CameraCharacteristics.LENS_FACING)’的拆箱可能会产生 NPE。”

 for (String cameraId : manager.getCameraIdList()) {
      CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameraId);

      if (characteristics.get(CameraCharacteristics.LENS_FACING) 
           == CameraCharacteristics.LENS_FACING_FRONT) { //THESE LINE IS WHERE THE WARNING APPEARS
           continue;
         }
   ....

有人知道如何以适当的方式检查它以防万一吗?

4

1 回答 1

1

您正在将它与一个 original 进行比较int,并且characteristics.get(CameraCharacteristics.LENS_FACING)可能返回一个Integerwhich 是一个对象。发生的事情是你将拥有

Integer integer = characteristics.get(CameraCharacteristics.LENS_FACING);
if (integer.intValue() == CameraCharacteristics.LENS_FACING_FRONT) {

}

如果integer为空,您将获得NPE访问权限intValue()

于 2015-12-21T18:55:58.550 回答