首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么java.lang.Integer和java.lang.Double的最小上界被推断为非循环类型?

为什么java.lang.Integer和java.lang.Double的最小上界被推断为非循环类型?
EN

Stack Overflow用户
提问于 2011-11-13 10:11:27
回答 1查看 1.1K关注 0票数 16

考虑下面的代码:

代码语言:javascript
复制
val foo = if(true) 
            new java.lang.Double(4) 
          else
            new java.lang.Integer(4)

foo的推断类型为:

代码语言:javascript
复制
Number with Comparable[_ >: Double with Integer <: Number with 
  Comparable[_ >: Double with Integer <: Number]]

所以基本上编译器在边界上循环,并在第三次递归后中止。

为什么以下内容还不够呢?

代码语言:javascript
复制
Number with Comparable[_ >: Double with Integer <: Number]
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8109105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档