c# - 如何将该运算符 C# 代码表示为 java?

标签 c# java operators

这个 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/

相关文章:

c# - visual studio Express 2013 是否自带 blend,如何打开它?

c++ - 使用 typeid 运算符的最佳替代方案

perl - 避免在数值eq(==)中出现 "isn' t数值的最佳方法“-警告

c# - C# 中的 EventHandler<TEventArgs> 线程安全?

c# - 以类型安全的方式处理 PropertyChanged

java - 在java中加载图像

java - 给定开始和结束矩形时如何创建矩形路径

java - 重新加载 Android Activity 数据

java - 任意数字的总和

c# - 指定的转换无效( double 到 int)