java - 在对象中设置字节字段

标签 java

我有一个简单的程序如下:

class SerializationBox implements Serializable
{

    private byte    serializableProp    = 10;

    public byte getSerializableProp()
    {
        return serializableProp;
    }

    public void setSerializableProp(byte serializableProp)
    {
        serializableProp = serializableProp;
    }
}

public class SerializationSample
{

    /**
     * @param args
     */

    public static void main(String args[]) 
    {

        SerializationBox serialB = new SerializationBox();
        serialB.setSerializableProp(1); // Here i get an error
}
}

在代码中的指定位置,我收到错误“SerializationBox 类型中的方法 setSerializedProp(byte) 不适用于参数 (int)”。

我相信根据链接http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html ,我可以传递 -128 到 127 作为参数。

请告诉我我缺少什么?

最佳答案

您必须将整数转换字节:

serialB.setSerializableProp((byte) 1);

注释:

  • 当你这样做时

    private byte serializableProp = 10;
    
  • 10 是一个整数,而不是二进制数。要指定该数字是二进制,您必须使用以下语法:

    private byte serializableProp = 0b10;
                                    ^^
    

关于java - 在对象中设置字节字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22905490/

相关文章:

java - 我应该把 if(variable < 10) 放在自己的方法中吗?

java - 获取 JPA @OneToMany 集合返回空

java - 为什么 Java 中的 Observable 使用 Vector?

java - 如何在JPanel中使用JTabbedPane?

java - 防止用户访问.jsp,除非通过转发

java - 对数轴标签/刻度自定义

java - Facelets 作为 JSP 中的模板框架

java - 尝试 Spring Security 与 Jersey 我的 security-context.xml 文件有什么问题?

Java Flight Recorder - 如何提取自定义事件字段的值?

java - 使用 Luhn 算法检查信用卡有效性