我正在实现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;
}
....
有人知道如何以适当的方式对此进行检查,以防万一。
最佳答案
您正在将其与原始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()
关于java - Android相机:将'characteristics.get(CameraCharacteristics.LENS_FACING)'拆箱可能会产生NPE,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34402419/