关于String的java基础知识

Abh*_*hvi 1 java string

String类型的变量自动初始化为什么值?

Noo*_*ilk 8

null

除非它在方法(局部变量)中,否则它不会被声明为任何东西.


coo*_*ird 5

以下是Martinv.Löwissilky发布的答案摘要.

我们可以说以下关于String对象的初始化:

  • 如果String是局部变量,则不会初始化.
  • 如果String是类变量,实例变量或数组组件,那么它将被初始化为null.

理由如下:

作为类型String为的引用类型的变量,根据Java语言规范,第三版,第4.12.5节:变量的初始值,如下所示:

程序中的每个变量在使用其值之前必须具有值

接着说明以下关于引用类型的初始化:

  • 每个类变量,实例变量或数组组件在创建时都会使用默认值进行初始化(§15.9,§15.10):
    • [删除了无关信息的信息]
    • 对于所有引用类型(§4.3),默认值为null.

最后,关注局部变量:

  • 局部变量(§14.4,§14.14)必须在使用之前通过初始化(§14.4)或赋值(§15.26)显式赋予一个值,编程方式可以使用定义规则进行验证.任务(§16).