What is a Java String's default initial value?

前端 未结 5 1869
暖寄归人
暖寄归人 2020-12-01 03:37

Consider a Java String Field named x. What will be the initial value of x when an object is created for the class x;

I know that for

相关标签:
5条回答
  • 2020-12-01 03:58

    There are three types of variables:

    • Instance variables: are always initialized
    • Static variables: are always initialized
    • Local variables: must be initialized before use

    The default values for instance and static variables are the same and depends on the type:

    • Object type (String, Integer, Boolean and others): initialized with null
    • Primitive types:
      • byte, short, int, long: 0
      • float, double: 0.0
      • boolean: false
      • char: '\u0000'

    An array is an Object. So an array instance variable that is declared but no explicitly initialized will have null value. If you declare an int[] array as instance variable it will have the null value.

    Once the array is created all of its elements are assiged with the default type value. For example:

    private boolean[] list; // default value is null
    
    private Boolean[] list; // default value is null
    

    once is initialized:

    private boolean[] list = new boolean[10]; // all ten elements are assigned to false
    
    private Boolean[] list = new Boolean[10]; // all ten elements are assigned to null (default Object/Boolean value)
    
    0 讨论(0)
  • 2020-12-01 04:02

    It's initialized to null if you do nothing, as are all reference types.

    0 讨论(0)
  • 2020-12-01 04:07

    The answer is - it depends.

    Is the variable an instance variable / class variable ? See this for more details.

    The list of default values can be found here.

    0 讨论(0)
  • 2020-12-01 04:14

    That depends. Is it just a variable (in a method)? Or a class-member?

    If it's just a variable you'll get an error that no value has been set when trying to read from it without first assinging it a value.

    If it's a class-member it will be initialized to null by the VM.

    0 讨论(0)
  • 2020-12-01 04:14

    Any object if it is initailised , its defeault value is null, until unless we explicitly provide a default value.

    0 讨论(0)
提交回复
热议问题