java - 使用位移运算符时出错

标签 java

<分区>

我正在使用以下代码将 0 和 1 的字符串转换为二进制并将其写入文件。

我在第 4 行遇到错误:

Code.java:56: error: not a statement
            nextByte << 1;

代码:

public void writeToFile(String binaryString, OutputStream os){
    int pos = 0;
    while(pos < binaryString.length()){
        byte nextByte = 0x00;
        for(int i=0;i<8 && pos+i < binaryString.length(); i++){
            nextByte << 1;
            nextByte += binaryString.charAt(pos+i)=='0'?0x0:0x1;
        }
        os.write(nextByte);
        pos+=8;
    }
}

最佳答案

您应该将运算符的结果分配给一个变量:

nextByte = nextByte << 1;

关于java - 使用位移运算符时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26709230/

相关文章:

java - 如何在屏幕关闭时以节能方式检测音量按钮

Java repaint() 方法问题。重新绘制 JPanel 将消失 JFrame 中绘制的组件

java - 从另一个获得一个新的旋转图像图标?

java.sql.Date 和 java.sql.Time 到 org.joda.time.DateTime

java - java中的垃圾收集是特定于某个JVM的,如果一个JVM中的应用程序发生内存泄漏,其他JVM会发生什么情况

java - 更改导航栏颜色,Android

java - 在@Rule 之前通过@Mock 初始化模拟

java - 在 Tomcat 中未检测到更改服务器设置和添加新文件

java - 转换Java中Optional.ofNullable().ifPresent()中的if else语句

java - 在 spring-boot 上执行 optaplanner 期间出现奇怪的警告