首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于Java的stdint.h?

用于Java的stdint.h?
EN

Stack Overflow用户
提问于 2013-09-15 16:05:32
回答 2查看 392关注 0票数 2

有没有像C语言一样实现标准数据类型的java库?

在Java语言中,所有东西都是经过签名的,所以使用byte来存储uint8_t会带来一些问题,例如:

代码语言:javascript
复制
byte test = (byte) 0xf3;
System.out.println("test = " + test);

打印

代码语言:javascript
复制
test = -13

而不是

代码语言:javascript
复制
test = 243

我的想法是这样的:

代码语言:javascript
复制
UInt8 test = new UInt8(0xf3);
System.out.println("test = " + test.toInt());
EN

回答 2

Stack Overflow用户

发布于 2013-09-15 16:08:09

有一个变通办法,试试System.out.println("test = " + (0xff & test));,你会得到243

票数 2
EN

Stack Overflow用户

发布于 2013-09-15 17:48:56

我不认为有任何好的库实现C/POSIX标准数据类型。

最近,我不得不在Java程序中使用预定义的POSIX常量,例如S_IREADS_IFDIR,并且我必须创建自己的常量列表类……

正如@Evgeniy Dorofeev建议的那样,尝试找到解决方法:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18810272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档