以下哪个代码更好?

时间:2014-10-03 16:14:02

标签: java

以下哪个代码更好,为什么?

第一种方式:

String[] animals = "lion tiger zebra".split(" ");
for (String animal : animals) {
    System.out.println(animal);
}

第二种方式:

for (String animal : "lion tiger zebra".split(" ")) {
    System.out.println(animal);
}

代码lion tiger zebra".split(" ")是否会在循环重复或第一次执行时执行。

3 个答案:

答案 0 :(得分:1)

没有区别。无论哪种方式,拆分操作只会执行一次。

答案 1 :(得分:1)

第一种方法需要内存用于变量的整个执行方法,或者如果它在类中,那么直到类被赋予GC。

第二种方法将在循环执行后留下GC的分割字符串的内存。

回答你的问题Will the code lion tiger zebra".split(" ") be executed all the time the loop is repeated or just the first time.

它只会完成一次。

答案 2 :(得分:1)

这两段代码之间没有什么区别。但是,第一个选项更具可读性,但它们(除非操作非常长)将花费大约相同的时间来执行。