解决方案 »

  1.   

    你可以设为null,只是访问时注意一下即可,""这是指向空字符串
      

  2.   

    我知道可以设置为null,但是在性能上我觉得设置null更好,毕竟他不需要创建对象,而“‘空字符串是需要创建新的对象的!
      

  3.   

     看到到this.parameters.put(parameter, v);
    说明你的 Map<String,String>parameters
    parameters.put(parameter,null); 是没有问题的
     if(null != parameterValue) 的判断
    只是防止 parameterValue为空的时候 parameterValue.trim()会出现异常
    又:“”是new出了个新的对象
    所以:“”改为null是不是更好
      

  4.   

    凭如今的这计算机,无论是字符串还是null,效率差别不大!理论上,null更好
      

  5.   

    1.看parameters是什么map,如果是个hashtable则,不能放入null.所以需要转字符串空.
    2.根据约定,为了不在满篇代码中都是null'的判断,所以约定永不返回null.
      

  6.   

    “”改为null更好
    就你目前这段代码而言 。
      

  7.   

    关键还是看这行代码 this.parameters.put(parameter, v);,如果允许v是null,就用null。正如你所说的,null对象不用创建,不过String v ="";这个并没有创建新对象,这里用的是常量池中的“”。如果是String v = new String("");这就创建了新对象,有一丁点性能影响。
      

  8.   

    不好意思,没太看懂,如果parameterValue为空的话根本进不了里面的代码,怎么还parameterValue.trim()出现异常呢?
      

  9.   


    我的意思是 你把“”改为null 你的程序不会出错 ,《“”是new出了个新的对象,而null没有,而在性能上new一个新的对象是要耗费系统性能上。》你自己的话  哪你为什么不使用null  
      

  10.   

    没有感觉使用null 在性能上有多大的提升,
    String v = "";  //这句代码并不会每次执行都new一个对象,如果jvm中已经存在“” 字符串,往后就不会再new 了,直接拿来用用一个例子来解释,比如整个程序只有以下代码
    String v1 = "";   //会new 一个字符串 
    String v2 = "";  //不会new
    String v3 = "";  //不会new
      

  11.   

    受教了,现在终于理解到这段代码为什么用”“而不用null了,谢谢大神们!