哪一个更有效?还有更好的选择吗?
在第一种情况中,我得到文件扩展名,将其保存在变量中,然后检查它是否为mp4,如果是mp4则更改为avi。执行一些代码行后我再次需要方法调用中的原始扩展,以便从文件中再次计算它。
String extension = ff.getAbsolutePath().substring(ff.getAbsolutePath().lastIndexOf("."));
if(extension.equals(".mp4")
extension=".avi"
......
method(ff.getAbsolutePath().substring(ff.getAbsolutePath().lastIndexOf(".")),..,.,)
在第二种情况中,我获取文件扩展名,将其保存在变量中,然后创建另一个变量并为其分配已计算的扩展名,然后检查originalextension是否为mp4,然后更改第二个变量的扩展名如果它是mp4,那么执行一些代码后,我再次需要一个方法调用中的原始扩展,我已经保存在originalextension变量中,所以我从那里得到它。
String originalextension = ff.getAbsolutePath().substring(ff.getAbsolutePath().lastIndexOf("."));
String extension=originalextension;
if(originalextension.equals(".mp4")
extension=".avi"
.......
method(originalextension,..,.,)
在这两种情况下,扩展和原始扩展都是局部变量。
在第一种情况下,我只声明了一个局部变量,但我需要计算两次文件扩展名。在第二种情况下,我声明了两个局部变量,我只需要计算一次文件扩展名