首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Scala类型约束不允许为空

Scala类型约束不允许为空
EN

Stack Overflow用户
提问于 2012-06-27 05:05:15
回答 4查看 2.2K关注 0票数 8

我有以下Scala代码:

代码语言:javascript
运行
复制
class X[T1 <: AnyRef] {
   var _x : T1 = null 
}

代码_x = null突出显示为错误:

代码语言:javascript
运行
复制
error: type mismatch;
found   : Null(null)
required: T1
var _x : T1 = null : T1

如果我添加Null类型约束,一切都会正常工作。为什么会发生这种情况?Scala将AnyRef定义为java.lang.Object的等价物,当然,它可以为空。

EN

Stack Overflow用户

发布于 2012-06-27 23:51:52

代码语言:javascript
运行
复制
class X[T1 <: AnyRef] {
   var _x : T1 = null 
}

如果您希望它可以为空,请用T1 >: Null替换T1 <: AnyRef

为什么会发生这种情况?

NothingAnyRef的子类型,Nothing不能为空。

票数 9
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11215915

复制
相关文章

相似问题

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