java - Android-Studio 报告自动装箱错误,但仍然可以编译
问题描述
我正在从我的 Android 项目中调用 Java 库。MyObj(double a, double b)
有时,我用Double
s(而不是double
s)创建一个对象。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)
解决方案
似乎 Java 配置不正确。我去了文件>项目结构...> SDK位置并勾选了“使用嵌入式JDK(推荐)”框。
不过,不确定我的系统安装出了什么问题,特别是因为 Intellij 与 Java 一起工作就像一个魅力。
推荐阅读
- rest - AppSync 批量调用嵌套属性
- python-3.x - 不断收到错误“OSError:[WinError 193] %1 不是有效的 Win32 应用程序”
- android - Android:从矢量 xml 中提取 android:pathData
- python - 有没有办法从所有 30 个数据框中只提取一列?
- ios - 尽管有一个初始化,为什么我得到“在初始化之前使用变量'网格'”错误?
- typescript - 如何使用 describe.each 为 jest 测试添加类型?
- python - 直接打开 'cmd.exe' 或通过 'qprocess' pyside 的区别
- c# - 如何使用 QRCoder 进行迁移;使用ZXing;在 asp.net 中?
- java - 如何获得重载方法来识别泛型类型的特定子类?
- ios - 使用 unwind segue 返回上一页