不使用局部变量的值

时间:2017-04-09 02:35:24

标签: java eclipse warnings

我有以下代码,我收到一个恼人的警告

  

未使用局部变量bytesRead的值

这让我烦恼......有人说忽略它......但我宁愿理解它而不是盲目地忽略它。

1)为什么我会收到此警告。

2)如何重写以下代码,以免发出警告?

        byte[] buffer = new byte[parameters.getSizeOfPacket() + DATA_PACKET_OVERHEAD_LENGTH];
        int bytesRead = -1;
        //System.out.println("Ready to Read");
        while( (bytesRead = in.read( buffer )) != -1 ) {
              .... }

提前致谢。

Eclipse IDE for Java Developers

版本:Neon.2发布(4.6.2)

构建ID:20161208-0600

1 个答案:

答案 0 :(得分:0)

在循环体中使用buffer时,您应该使用局部变量。因为,你只能安全地bytesRead中使用buffer个字节(通常不是所有内容都会以漂亮的缓冲区边界结束)。