一般自动生成get、set方法,假设有个list没有用到它的set方法,我直接把list值写在get方法里,然后return list,让页面获取。也不是写在构造方法或者init里面,这样做有什么弊端,是不安全吗,为什么不安全?
比如:
class b{
List li=new ArrayList();public ArrayList getLi(){
li=service.findAll(User.class);
return li;
}
这样页面是能获取li的,但是我想知道弊端是什么??

解决方案 »

  1.   

    这样做如果在其他类调用getList是能拿到,只是不能给他重新赋值了。
    还有就是用到Spring注入的时候是必须用到set方法的。
      

  2.   

    最大的区别在于:很次访问get方法,都得重新查询生成list,在get会被多次调用的情况下,浪费了太多不必要的性能。
      

  3.   

    一般 set get 只做 赋值 取值  原因楼上
      

  4.   

    List li=new ArrayList(); //li指向一个全新的集合对象;
    li=service.findAll(User.class);//li指向findAll返回的对象;这样new出来的就会被回收掉,性能浪费是显而易见的.
      

  5.   

    首先正常的做法是,需要return 该List时,查出来set(List);让页面调用get()方法得到List。
    如果再业务不允许改变List值的情况下,整个作用域可以调用的地方都有可以直接用了。
    你这样的做法是:1,因为没有set()方法外部不能改变其值;
    2,页面每个用到的地方都去又去数据库查一边。
    是不是很浪费