byte b=a.byteValue(); X
貌似你要把a里的值经过强制类型转换后放进b里。
首先强制类型转换的写法是byte b = (byte)a;
其次,即使改成这样写也是会报错的,
因为byte类型不能接受大于128的值。
所以你的想法不能实现。
使用方法介绍如下:
1、该方法的作用是以byte类型返回该 Integer 的值。只取低八位的值,高位不要。
2、函数原型:
public byte byteValue()
3、所属包:
java.lang.Integer
4、示例:
public class IntegerDemo {
public static void main(String[] args) {
Integer obj = new Integer(10);
// returns the value of Integer as a byte
byte b = obj.byteValue();
System.out.println("Value of b = " + b);//输出Value of b = 10
}
}
首先 byte 类型的值域定义为-128~127,楼主的想法是正确的.
只是Java基本数据类型长整型long类型,不能作为对象调用
所以楼主将long a=18753;
改为 Long a=18753l; 就可以了
byte b=a.byteValue(); X
首先强制类型转换的写法是byte b = (byte)a;
其次,即使改成这样写也是会报错的,
因为byte类型不能接受大于128的值。