在一個界面我有以下幾點:一個循環中的相同的計算在一個恆定
public static byte[] and0xFFArray(byte[] array) {
for (int i = 0; i < array.length; i++) {
array[i] = (byte) (array[i] & 0xFF);
}
return array;
}
在另一類我打電話以下幾點:
while(true){
...
if (isBeforeTerminator(htmlInput, ParserI.and0xFFArray("포토".getBytes("UTF-8")), '<')) {
...
}
...
}
我的問題是,將在編譯期間計算一次String常量的結果數組,還是每次循環迭代時計算它?
編輯:我只是注意到,該方法沒有意義,但它不影響問題。
該方法的要點是什麼。它什麼都不做。 'byte'被轉換爲'int',被掩碼爲'0xFF',被轉換回'byte',將導致完全相同的值。 – Andreas
在正常執行下,它會每次執行。但是JIT編譯器可能能夠優化它。 – shmosel
優秀的問題的方式。 – EJoshuaS