字符串赋值

Sting 类保存字符串只是保存所有单单的字符串;
而 char[] 字符数组 会在最后自动加上' ';
所以B:t.equals(c)会返回fasle;
所以 答案B
=========================================================================================

  1. String a =  "hello" ;  // 先在栈中创建一个对String类的对象引用变量a,然后通过符号引用去字符串常量池里找有没有"hello",如果没有,则将"hello"存放进字符 串常量池 ,并令a指向"hello",如果已经有"hello"则直接将a指向"hello"    -->  产生1个对象及1个引用   
  2. String b = "hello" ;  // 先在栈中创建一个对String类的对象引用变量b,然后通过符号引用去字符串常量池里找有没有"hello",因为之前在常量池中已经 有"hello",所以直接将b指向"hello"    -->  因为不需要在常量池产生"hello",所以只是在栈中产生1个引用   
  3. String newA = new  String( "hello" );  // 先在栈中创建一个对String类的对象引用变量newA,然后new()操作会在heap堆中产生一个新的对象"hello",并将newA指向堆中 的"hello",同时检查String pool常量池中是否有对象"hello",如果没有也产生一个对象"hello",如果有则不产生,因为这里 之前已经在常量池中产生过了,所以   -->  只需要产生1个对象及1个引用   
  4. String newB = new  String( "hello" );   //因为new每次都会保证在heap堆内存中产生新的对象,并将栈中的引用指向对应的堆中的地址,所以此语句同上一条的处理 
=========================================================================================
原文地址:https://www.cnblogs.com/lsx1993/p/4631744.html