我不时会看到这样的代码:
if (id.split(":").length > 1) {
sub_id = id.split(":")[1];
parent_id = id.split(":")[0];
}
做
之类的事情会不会更好(也更快)String [] ids = id.split(":");
if (ids.length > 1) {
sub_id = ids[1];
parent_id = ids[0];
}
这样你不必多次调用'split()',或者编译器/ JIT会进行这样的优化吗?
答案 0 :(得分:10)
我当然不希望 JIT 或编译器执行此类优化。它必须知道:
JIT或编译器似乎不太可能为此进行优化。
是的,使用第二种形式肯定更有效 - 而且我认为它也更具可读性。当更可读的代码也更有效时,这是一个非常明确的指示,使用哪些代码;)