首先我有个类,Commond.java
类里有个静态常量,如下
public static final String NAME = "aaa";问题是,我在其他包下类的方法中用到这个常量,我可以用一下两种方式
方法中往Student对象SET对象1:
Student.setName(Commond.NAME);2:
String name = Commond.NAME;
Student.setName(name);以上两种方式,大家推荐用那种?大家可以在性能上,代码可读性上,其他理由等等,一起讨论下哪种最合适!

解决方案 »

  1.   

    一般有get、set方法是在属性为私有的情况下,直接赋值是在属性公有的情况下。你莫非是在属性公有的情况下加了get、set方法?谁会这么设计程序呢?
      

  2.   

    第一种相当于:
    String temp = Command.Name;
    Student.setName(temp);
    跟第二种几乎没区别,唯一区别就是第二种里的name还可以在之后调用。
    但是name和Command.Name虽然是两个引用,但是实际内容在内存中只有一份,多了个引用根本没用,还凭空多占了一个变量名。
    而且第一种可读性要好很多,明显第一种好!
      

  3.   

    我个人觉得第一种方式好,第二种方式又要多生成一个String类的引用name,这浪费空间,多此一举啊
      

  4.   

    第一种,没必要多使用一个临时变量name
    而且第一种可读性强
      

  5.   

    坚决第一种
    1 没必要
    2 反而容易出bug假设
    String name = Commond.NAME;
    // 这中间还有好多代码,你一不小心把name修改成了name = Something.ELSE;
    Student.setName(name);// 抑或,一不小心弄成了
    Student.setName(namee);