当需要包含全零的数组[双精度]时,使用是否安全
    val allZeros = new Array[Double](10)
    val whatever = allZeros( 5 )     // guaranteed to be 0.0, not null?
    assert( whatever == 0.0 )        // succeeds
或者我应该坚持
    val allZeros = Array.fill[Double](10)( 0.0 )
我知道第一个版本有效,但这是语言的保证,即它是否总是安全的?Double理论上也可以初始化null(尽管如此,考虑到它,作为一名语言设计师,我宁愿不做出那种改变:-).
Scala中的Double不是类似的对象java.lang.Double,而是原始类型double.因此默认值为0.您可以使用您的第一个版本,这是非常安全的.
但是,我倾向于选择第二个版本,因为它引入了另一个安全级别:它是自我记录的.
| 归档时间: | 
 | 
| 查看次数: | 297 次 | 
| 最近记录: |