发现被坑了,从来没看到说java的Date一旦实例化时间就不会变了

java中使用Date对象获取系统当前时间,然而我就没看到哪篇教程告诉我说Date创建对象之后其中的时间是不会变的!!!

一开始我写了类似于下边这样的代码,希望每隔一段时间显示一次时间

Date d=new Date();
while(true){
    try{
        Thread.sleep(1000);
    }catch(Exception e){
    }
    System.out.println(d.toGMTString());
}

然而事实上根本不会每隔一段时间显示新的时间,每次显示的都是创建D这个对象的时候的时间!

正确的方式看起来性能差一些:

while(true){
    try{
        Thread.sleep(1000);
    }catch(Exception e){
    }
    System.out.println(new Date().toGMTString());
}

每次都要创建新的对象才能实时 显示时间。

 

posted @ 2019-06-25 22:16  sebastia  阅读(626)  评论(0编辑  收藏  举报