Zgq弟弟 2023-03-29 15:14 采纳率: 0%
浏览 63
已结题

NumberFormatException 错误

最近在项目遇到个java.lang.NumberFormatException 类型的异常报错,很奇葩,把我都看蒙了,也不是必现的;
具体报错如下:

img

对应地方的代码是:

mCurrentCameraId 是字符型,并且是不为空的,值不是1就是0; lastSubLightValue是int型定义为了-1

        @Override
        protected void onProgressUpdate(String... values) {
            int subLightLevel = Integer.parseInt(values[0]);
            boolean isCovered = subLightLevel == (mSubcameraType == SUBCAMERA_TYPE_REAL_CAM ? 1 : 0);
            if(isCovered && !CameraUtil.isCameraFacingFront(mApp.getActivity(), mCurrentCameraId)
                    && subLightLevel == lastSubLightValue
                    && "Portrait".equals(mCurrentModeType)){
                if (!isHintShow) {
                    showScreenHint(mOcclusionHint);
                    isHintShow = true;
                }
            } else {
                hideScreenHint(mOcclusionHint);
                isHintShow = false;
            }
            lastSubLightValue = subLightLevel;
        }

其中isCameraFacingFront方法是有个isCameraFacingFront(context, Integer.parseInt(mCurrentCameraId))做转换

为什么if条件中 把&& subLightLevel == lastSubLightValue 一同当作字符先给我带入前面的 转换的条件中去了,
就很奇葩

  • 写回答

4条回答 默认 最新

  • CSDN专家-sinJack 2023-03-29 19:30
    关注

    跟if中的条件肯定没关系的,只是刚好形参中的值和你的条件相似而已。

    int subLightLevel = Integer.parseInt(values[0]);
    

    报错的点是这里,说明values数组中第一个元素内容有可能存在非数值型的字符,你加个log记录一下看看。
    传参问题导致的。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月30日
  • 修改了问题 3月29日
  • 修改了问题 3月29日
  • 创建了问题 3月29日

悬赏问题

  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计