代码之家  ›  专栏  ›  技术社区  ›  Vah1d

序列化变量的伪值

  •  1
  • Vah1d  · 技术社区  · 12 年前

    为什么Java中的瞬态变量显示默认值为零?

    它怎么知道这个值应该是 0 对于 integer null 对于 String ?

    5 回复  |  直到 12 年前
        1
  •  3
  •   NilsH    12 年前

    它知道这一点,因为 how it's specified 。的默认值 int 为0,默认值为 String 为null。

        2
  •  1
  •   Suresh Atta    12 年前

    从…起 DOCS

    在声明字段时,并不总是需要赋值。已声明但未初始化的字段将由编译器设置为合理的默认值。一般来说,根据数据类型的不同,此默认值将为零或null。

        3
  •  0
  •   Dheeraj Joshi    12 年前

    的默认值 int为0 和一个 字符串为null

        4
  •  0
  •   Peter Lawrey    12 年前

    字段的默认值由JLS定义。使其成为瞬态 暗示 它不会被设置,因此具有默认值。

        5
  •  0
  •   user207421    12 年前

    它怎么知道integer的值应该是0,String的值应该为null?

    因为这就是 default, defined in the Java Language Specification .