Java三元运算符返回结果的数据类型问题

Java三元运算符返回结果的数据类型问题最近遇到了一个问题 使用三元运算符 condition a b 其中 a 为 int 类型 b 为 double 类型 但是返回的结果总是 double 类型 原因 Java 三元表达式有字符强转的功能 返回值类型为两个返回值中类型精度更高的的那个类型 在 java 中常见数据类型其范围从小到大 精度由低到高 byte

最近遇到了一个问题,使用三元运算符:

map.put("money", money % 1.0 == 0 ? money.intValue() : money ); 

其中的money为Double类型,但是出现money % 1.0 == 0为true时,返回的类型依然为Double类型,而不是money.intValue() 中的int类型。

if (money % 1.0 == 0) { 
    map.put("money", money.intValue()); } else { 
    map.put("money", money); } 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/177198.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午8:04
下一篇 2026年3月26日 下午8:05


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号