我有一个简单的程序如下:
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/