tun52099 2018-08-18 06:40 采纳率: 100%
浏览 2697
已采纳

在Java中,一个变量重新new,重新分配空间进行复用,和重新定义一个变量使用哪个好?

在Java中,一个变量重新new,重新分配空间进行复用,和重新定义一个变量使用哪个好?
例如:


// 方式一
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sdf.parse(time);
sdf = new SimpleDateFormat("yyyy-MM-dd");
sdf.parse(time2);
// 方式二
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sdf.parse(time);
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
sdf2.parse(time2);



哪一种方式比较好,求解答?

  • 写回答

3条回答 默认 最新

  • 还来得及 2018-08-18 06:46
    关注

    方式一好些,因为每次new都会开辟一块内存,方式一共new了两次,sdf 原来是指向new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    在sdf = new SimpleDateFormat("yyyy-MM-dd");之后 ,sdf 就不在指向 new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");了,而是指向 new SimpleDateFormat("yyyy-MM-dd");所开辟的内存,那么new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");开辟的内存空间会被回收,因为没有引用指向它了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)