使用原汁原味的 Java 语言:非 Java 原生程序员的语言流畅性
2010-02-24 00:00:00 来源:WEB开发网不要回收变量
上述讨论得出这样一个结论,Java 程序员几乎不会为不同的值和对象重用本地变量。例如,清单 10 建立了一些按钮及其关联的动作侦听器:
清单 10. 回收本地变量
Button b = new Button("Play");
b.addActionListener(new PlayAction());
b = new Button("Pause");
b.addActionListener(new PauseAction());
b = new Button("Rewind");
b.addActionListener(new RewindAction());
b = new Button("FastForward");
b.addActionListener(new FastForwardAction());
b = new Button("Stop");
b.addActionListener(new StopAction());
经验丰富的 Java 程序员会用 5 个不同的本地变量重写这段代码,如清单 11 所示:
清单 11. 未回收的变量
Button play = new Button("Play");
play.addActionListener(new PlayAction());
Button pause = new Button("Pause");
pause.addActionListener(new PauseAction());
Button rewind = new Button("Rewind");
rewind.addActionListener(new RewindAction());
Button fastForward = new Button("FastForward");
fastForward.addActionListener(new FastForwardAction());
Button stop = new Button("Stop");
stop.addActionListener(new StopAction());
为多个逻辑上不同的值或对象重用一个本地变量容易导致 bug。实际上,本地变量(并非始终是它们指向的对象)并不影响内存和时间问题。所以不必为此担忧,可以根据您的需要使用多个不同的本地变量。
更多精彩
赞助商链接