使用 Maven 编译器进行 JAVA 转换

标签 java maven compiler-construction compilation

我有下一个代码:

public String foobar(Object foo, Map<String,Object> parametersMap){
       ...
       boolean isFoo = (boolean) parametersMap.get("is_foo");
       ...
    }

我希望它抛出一个类转换异常(Map.get 返回一个对象类型),但它没有。 我正在使用 java (7)、spring suite 和 maven(所有项目的语言级别均为 7)。 该项目编译并运行良好。

只有一个地方调用此方法,并且始终设置此参数(类型原始 boolean 值)。 编译器是否有可能以某种方式分析流程并识别它(不抛出类转换异常)?

最佳

最佳答案

这是Java autoboxing工作中

您将一个原始 boolean 值放入Map中,它会转换为 boolean 值。一旦你把它拿出来,你就可以使用它的原始形式或对象形式而无需转换(或者如果你愿意的话可以使用转换)。

这两段代码是等效的:

myMap.put("is_foo", true);

myMap.put("is_foo", Boolean.TRUE);

关于使用 Maven 编译器进行 JAVA 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21166697/

相关文章:

Java - 编程双向控制台窗口

java - 创建 Spring MVC 应用程序

rust - 从 Cranelift 发出 ASM

c# - 是否可以在已停止的 IIS 6 站点上预编译 ASP.Net 网站?

java - Android:共享菜单,我的菜单充气器无法解析我的资源

java - 何时以及如何增加版本号(Maven、Java、Sonar)?

java - 在 Java(扫描仪)中验证用户输入?

java - 如何按特定顺序运行 Maven 测试?

Maven pom.xml、SCM 和发布

visual-studio - 对 Visual Studio C++ 项目使用/Zi vs/Z7 有什么影响?