我很惊讶。为什么要限制执行类型Range,是否由Int.MaxValue限制其大小? 谢谢。限制范围
Q
限制范围
1
A
回答
5
NumericRange
是Range
类任意类型的作品 的更宽泛的版本。它必须提供范围类型的实现Integral
。可能类型的工厂包括
Range.BigInt
,Range.Long
和Range.BigDecimal
。Range.Int
存在的完整性,但Int
基于scala.Range
应该更高性能。val r1 = new Range(0, 100, 1) val veryBig = Int.MaxValue.toLong + 1 val r2 = Range.Long(veryBig, veryBig + 100, 1) assert(r1 sameElements r2.map(_ - veryBig))
0
在我看来,对方的回答是错误的。
它证明您可以使用其他数字类型,但这并不会改变Range
只能容纳2³¹
元素的事实,就像Scala/Java中的其他每个集合一样。
据我所知,这个设计决定背后没有真正的理由。拥有64位集合肯定会很不错,支持64位索引的数组对于Java来说很常见,但很难将其集成到现有的语言/集合框架中。有人说JVM仅限于总共40亿个对象,但我无法证实这一点。
相关问题
- 1. 限制NamedPipeServerStream的范围
- 2. 范围限制的难题
- 3. Ç - 限制结构范围
- 4. SQL加入限制范围
- 5. 限制变量范围
- 6. MySQL的限制范围
- 7. 限制UIAppearance代理范围
- 8. MYSQL - 限制范围之内
- 9. 强制jQuery限制其范围
- 10. 如何限制OAuth'scope'参数的允许权限(限制范围)
- 11. 限制Setter范围并应用接口后,范围被忽略!
- 12. iOS UIPickerView:如何限制滚动范围
- 13. 在JSP中限制模型的范围
- 14. 如何限制JQuery selectable-helper的范围?
- 15. 限制Python的范围导入
- 16. 范围限制公式的结果
- 17. 限制NG重复的范围AngularJS1
- 18. 使用JavaScript的日期范围限制
- 19. VBA范围255字符限制
- 20. 流和注释的FQL范围限制
- 21. 通过IP范围限制访问(PHP)
- 22. Android的 - 蓝牙 - 限制扫描范围
- 23. 如何用jQuery限制影响范围?
- 24. 在UITextView范围内限制编辑
- 25. C# - 限制范围到三元语句
- 26. 如何限制范围参数
- 27. NSLinguisticTagger - enumerateLinguisticTagsInRange块不是限制范围
- 28. Java&LibGDX:限制Sprite的渲染范围
- 29. 限制反应范围流星
- 30. SQL查询数据范围限制
因为'Range'没有参数化并在内部使用'Int'? 'new Range(start:Int,end:Int,step:Int)' http://www.scala-lang.org/api/current/index.html#scala.collection.immutable.Range –
And?很明显,但为什么不使用Long? – dvigal
你能再次检查答案吗? – soc