问题描述
请问这个getInt()到底返回是多少啊?
解决方案
解决方案二:
似乎没找到这个方法getInt()返回在一定上int类型的
解决方案三:
我的哥,我也知道是int类型的,但是我想知道他是怎么算出int的
解决方案四:
在字节流里读取4个Byte,构成一个Int返回给你咯。从字节流里怎么知道你要的数据类型是什么,只能按照你的意愿去解释字节流,你要int,那就读4个字节解释成int给你,你要char,那就从字节流里读取2个字节解释成char返回给你,你要Byte,你就只读取一个字节返回给你。
解决方案五:
引用3楼yao2007的回复:
在字节流里读取4个Byte,构成一个Int返回给你咯。从字节流里怎么知道你要的数据类型是什么,只能按照你的意愿去解释字节流,你要int,那就读4个字节解释成int给你,你要char,那就从字节流里读取2个字节解释成char返回给你,你要Byte,你就只读取一个字节返回给你。
正解,ByteBuffer是个很神奇的东西。
解决方案六:
谢谢啊
解决方案七:
ByteBuffer中getInt()这个函数是抽象(abstract)的,应该将其覆盖后才能使用啊!无法直接使用啊!
解决方案八:
getInt根据ByteBuffer中设定的字节序(默认为Big-Endian)读取4个字节的数据。假设这4个字节依次为a,b,c,d,那BE字节序就采用这样的方式返回int:return(((a&0xff)<<24)|((b&0xff)<<16)|((c&0xff)<<8)|((a&0xff)<<0));如果是LE字节序的话就采用这样的方式:return(((d&0xff)<<24)|((c&0xff)<<16)|((b&0xff)<<8)|((a&0xff)<<0));
时间: 2024-10-21 14:09:13