Java 使用ArrayList.add() 添加静态变量时 前面所有值被 覆盖 的问题

@world 2018-09-27 03:24:11

一个监控项目,定义了几个全局静态变量,用于计数,用for循环list.add放到list里再通过map传到前台,前台使用echart把这些静态变量值的变化以曲线的形式展现出来,因为是静态变量所以只能得到最后一次赋的值 ,前面的值均被覆盖,怎么解决这个问题??
...全文
735 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
@world 2018-09-29
  • 打赏
  • 举报
回复
感谢各位 按5楼的方法 已解决
@world 2018-09-28
  • 打赏
  • 举报
回复
这是自增完一次立即放到list里,实际情况大概是有三个类,类1定义静态变量,类2有几个判断,第一个判断true第一个静态变量自增,依次类推。。。类2被调用多次,静态变量就多次赋值,类3拿到这些值添加到list里,再返给前台。。。
zekeTao 2018-09-28
  • 打赏
  • 举报
回复
那就不要静态变量啊,静态变量本来就是不推荐改变的,你定义一个静态Map,在类2中修改Map中的数据
zekeTao 2018-09-28
  • 打赏
  • 举报
回复
把静态变量的名和值转换成Map中的key-value保存
nayi_224 2018-09-28
  • 打赏
  • 举报
回复
那就再搞个静态list,把静态变量拷一份进去。
@world 2018-09-28
  • 打赏
  • 举报
回复
问题在于静态变量 , 不是list .....
verejava 2018-09-28
  • 打赏
  • 举报
回复
Java 集合 之 List 和 ArrayList http://www.verejava.com/?id=1699409760261
zekeTao 2018-09-27
  • 打赏
  • 举报
回复
public class MyTest {

public static int u = 1;
public static int p = 100;

public static void main(String[] args) {
List<Object> list = new ArrayList<>();
int uu = MyTest.u;
int pp = MyTest.p;
for (int i = 0; i < 10; i++){
list.add(uu = uu + i);
list.add(pp = pp + i);
}
System.out.println(list);
}
}

51,411

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧