Originem 2019-06-09 02:10 采纳率: 33.3%
浏览 600

关于使用静态变量储存数据和直接生成所需数据

当我需要一串字符串,这俩种方法哪一种泛用性更高?

1:调用静态变量

    public static final List<String> temp = new ArrayList<>();
    static{
        temp.add("test1");
        temp.add("test2");
        temp.add("test3");
    }

2:调用方法

    public static List<String> getTemp(){
        List<String> temp = new ArrayList<>();
        temp.add("test1");
        temp.add("test2");
        temp.add("test3");
        return temp;
    };
  • 写回答

1条回答 默认 最新

  • threenewbee 2019-06-09 09:18
    关注

    第一个呗称之为贪婪加载,也就是说无论有没有调用,都要执行一次这个代码(static块的本质是使用static的构造函数)
    第二个称之为懒惰模式,只有在需要的时候才加载。

    前者会增加程序内存消耗和首次启动的时间,但是好处是一次性加载了,程序运行的时候就很快了。

    不知道你说的“泛用性”是什么意思?通用性?这个和通用性似乎没有什么关系。

    评论

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制