Can we assume default array values in Java? for example, assume that an int array is set to all zeros?

前端 未结 4 831
死守一世寂寞
死守一世寂寞 2020-11-29 19:31

In practice can I assume that all int arrays in Java will start out filled with zeros? for all machines in which the JVM runs?

Is this true for all types? char? bool

4条回答
  •  没有蜡笔的小新
    2020-11-29 20:29

    Java Language Specification is the right place to look for such information:

    Array components are unnamed variables that are created and initialized to default values (§4.12.5) whenever a new object that is an array is created

    Default values themselves are given in section 4.12.5.

    • For type byte, the default value is zero, that is, the value of (byte)0.
    • For type short, the default value is zero, that is, the value of (short)0.
    • For type int, the default value is zero, that is, 0.
    • For type long, the default value is zero, that is, 0L.
    • For type float, the default value is positive zero, that is, 0.0f.
    • For type double, the default value is positive zero, that is, 0.0d.
    • For type char, the default value is the null character, that is, '\u0000'.
    • For type boolean, the default value is false.
    • For all reference types, the default value is null.

提交回复
热议问题