这个 for 循环中的第二行是什么意思以及 java 中的代码表示是什么?
private List<int> channels = new List<int>();
private List<byte> packet= new List<int>();
for (i = 0; i < 2; i++)
{
channels.Add((int)packet[2 + (2 * i)]);
channels[i] += ((int)packet[2 + (2 * i) + 1] << 8) & 0xFF00;
}
这是在 java 中执行上述代码的正确方法吗?
for (i = 0; i < 2; i++) {
channels.add(packet.get(2 + (2 * i)));
byte temp=channels.get(i);
temp+=((packet.get(2 + (2 * i) + 1) << 8) & 0xFF00);
channels.set(i, temp);
}
上面的效果很好,但是,这会做得更好。感谢大家的回复:
for (i = 0; i < 2; i++) {
channels.set(i, (byte) (packet.get(2 + (2 * i))+((packet.get(2 + (2 * i) + 1) << 8) & 0xFF00)));
}
最佳答案
Java 缺少的是运算符重载。因此,如果您使用 ArrayList<Integer>
,您需要使用 get()
和
set()
而不是 []
运算符。
此外,我认为您不能分配 List<int>
到 List<byte>
在 C# 中。
关于c# - 如何将该运算符 C# 代码表示为 java?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9978314/