我有以下代码,我收到一个恼人的警告
未使用局部变量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
答案 0 :(得分:0)
在循环体中使用buffer
时,您应该使用局部变量。因为,你只能安全地在bytesRead
中使用buffer
个字节(通常不是所有内容都会以漂亮的缓冲区边界结束)。