If I am creating a string and not initializing the value I am using the same string object Or is it reassigning the string reference to the new string, which might want to change the value. 
   class Foo () {String x; String y = null; X = "Hello"; Y = "hey"; }  
  My understanding is now that X would not be making an additional string object. But y would be creating another string, but it will be referenced in the context of the newly created string "O" with tap string. Is it true? 
       string foo  
  itself is just a reference Since it is a string-reference, it is capable of referring to a string called 'string pool', whose implementation it however creates a new string even though  not . 
 n 
   string bar = null;  
  The string bar, such as Foo, is a string  reference , but no new object is formed by creating a reference  foo  and The difference between  bar  is assigned to that time for  zero , but the tap is definitely not a string and therefore there is no reason to create JVM A new string - 
 Your last impression really comes closer to what happens. 
   string foo = "hello world";  
  Creates a new string (assuming "Hello World" is not found in the string pool yet) 
 You can divide this statement into three small details: < / P> 
 -   Create reference  
  string foo  creates a new reference, capable of referencing string objects   -   Create an object  
  "Hello World" , assign new spaces to the "new string" (string bridge in this case) And actually creates a new object.   -   Assignment  
  =           string x; string y = null;    will create a new string but both of them The statements will be 
   x = "hello"; y = "hey";  
  
    
No comments:
Post a Comment