在一个界面我有以下几点:一个循环中的相同的计算在一个恒定
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