Android 相机:'characteristics.get(CameraCharacteristics.LENS_FACING)' 的拆箱可能会产生 NPE

Android Camera: Unboxing of 'characteristics.get(CameraCharacteristics.LENS_FACING)' may produce NPE

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

"Unboxing of 'characteristics.get(CameraCharacteristics.LENS_FACING)' may produce 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;
         }
   ....

有人知道如何以正确的方式检查它以便在它发生时发现它吗?

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

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

}

如果 integer 为 null,您将获得 NPE 访问 intValue()