我正在开发一个使用一些本机调用的 Java 程序。
您知道转换jshort
为的简单方法unsigned short
吗?或者,我可以用作等效类型吗?
在本机代码中,我收到一个jshort
值,我需要将此值用作GLushort
.
有什么建议吗?
谢谢。
我正在开发一个使用一些本机调用的 Java 程序。
您知道转换jshort
为的简单方法unsigned short
吗?或者,我可以用作等效类型吗?
在本机代码中,我收到一个jshort
值,我需要将此值用作GLushort
.
有什么建议吗?
谢谢。
只需添加
& 0xFF
它!它使它无符号:D
好吧,先看看维基百科。Ajshort
实际上是一个short
(有符号的),因此要转换它,您必须处理负值。
为什么不使用,jchar
因为它直接映射到 a unsigned short
- 那么您可以直接投射。
jchar jC = ....;
GLushort s = (GLushort) jC;
你可以GLushort
在你的代码中强制转换。
有符号的事实jshort
并不重要,除非参数实际上可以用于保存负值,并且您在 Java 端进行算术或整数比较。