关于String的java基础知识

时间:2009-08-30 06:45:19

标签: java string

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

10 个答案:

答案 0 :(得分:8)

null

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

答案 1 :(得分:5)

以下是Martin v. Löwissilky发布的答案摘要。

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

  • 如果String是局部变量,则不会对其进行初始化。
  • 如果String是类变量,实例变量或数组组件,则它将初始化为null

推理如下:

由于String类型的变量是引用类型,根据The Java Language Specification, Third EditionSection 4.12.5: Initial Values of Variables说明如下:

  

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

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

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

最后,关注局部变量:

  
      
  • 本地变量(§14.4,§14.14)必须   在它之前明确给出一个值   通过初始化使用   (§14.4)或转让(§15.26),a   可以通过的方式验证的方式   编译器使用规则确定   任务(§16)。
  •   

答案 2 :(得分:3)

如果变量是类变量,实例变量或数组组件,则将其初始化为null(因为引用类型的默认值为null

如果变量是局部变量,则必须明确给出一个值(即在这种情况下它没有默认值)。

答案 3 :(得分:2)

String类型的变量是引用变量。作为实例变量,它会初始化为null,有关其他案例的讨论,请参阅the specification

答案 4 :(得分:2)

它是null,除非它是本地的,在这种情况下它在技术上是未初始化的,但事实上你不能使用它,因此语言仍然是类型安全的。你无法解析垃圾指针。

答案 5 :(得分:1)

null

答案 6 :(得分:0)

String str=null意味着str是String类的一个对象,它没有指向任何东西......但是当我们讨论内存分配时,内存将在它出现时立即分配给str。 ..u可以使用netbeans中的profiling选项来检查内存量。

答案 7 :(得分:0)

字符串值默认为NULL,无需初始化。 字符串类对象默认为NULL,只有它们被定义为类级别的atttributes,否则字符串对象没有任何默认值,需要明确初始化。

答案 8 :(得分:0)

如果String类型的变量在方法中,它将不会自动初始化。否则,将使用null作为值进行初始化。

答案 9 :(得分:0)

  1. 自动初始化在类中声明的任何变量。
  2. 必须初始化在方法中声明的任何变量,否则会生成错误。
  3. 字符串初始化为null,ints为0,依此类推..
  4. 检查此page以获取更多信息......