map.put(new Stirng("mldn"),new Stirng(www.mdln.cn));
跟map.put("mdln",www.mdln.cn);有什么区别? 
new Stirng("mldn")在栈区怎么分配,引用给谁

解决方案 »

  1.   

    个人认为,直接使用双引号创建的字符串对象和new String()创建的没有区别。
    你使用"test".xxx()也能调用到String类的所有方法map.put(new Stirng("mldn"),new Stirng(www.mdln.cn));
    这里的引用显然是给了map
      

  2.   

    new出来的String相当于在内存中创建了两个对象吧,一个new出来的一个,一个是字符串存在的常量池中,new的一个对象在栈中会有一个引用指向堆中,堆又指向常量池中的值,这块比较不容易理解画一画图就能出来啦
      

  3.   

    请不要再研究这种没有东西了!不要使用 new String(String) 的构造方法!String 对象问题永远是 CSDN java 版经久不衰的问题,而且是变着花样来问!