首页 > 解决方案 > Android-Studio 报告自动装箱错误,但仍然可以编译

问题描述

我正在从我的 Android 项目中调用 Java 库。MyObj(double a, double b)有时,我用Doubles(而不是doubles)创建一个对象。Android-Studio 将它们显示为错误并说:

MyObj 中的 MyObj(double, double) 不能应用于 (Double, Double)

怎么可能?

另一个奇怪的地方如下:

MyOtherObj 中的 MyOtherObj(String) 无法应用于 (java.lang.String)

请注意,它编译并运行良好。此外,在命令行 ( ) 中使用 gradle 构建也./gradlew build可以完美运行。在 Android-Studio 项目中使用 Java 库时有什么事情要做吗?

根据评论中的要求,以下是显示此错误的一些实际代码:

Mission.MissionItem missionItem = new Mission.MissionItem(
    latLng.getLatitude(),
    latLng.getLongitude())

如果我将第一个参数替换为new Double(3.2),则错误消息变为:

预期:双,实际:新双(3.2)(java.lang.Double)

标签: javaandroid

解决方案


似乎 Java 配置不正确。我去了文件>项目结构...> SDK位置并勾选了“使用嵌入式JDK(推荐)”框。

不过,不确定我的系统安装出了什么问题,特别是因为 Intellij 与 Java 一起工作就像一个魅力。


推荐阅读