Java中的等价数据类型
Posted
技术标签:
【中文标题】Java中的等价数据类型【英文标题】:Equivalent Data Types in Java 【发布时间】:2014-01-09 16:11:58 【问题描述】:我正在开发一个 android 应用程序,它正在处理 BigML 大数据服务器。我需要解析以下格式的数据。
int16
int8
Java/Android 中与上述类型等效的数据类型是什么?
【问题讨论】:
short 和 byte,都带符号? @blackbelt:它们只包含正值,为 0。所以,它是“无符号”对吗? 【参考方案1】:Java 中没有无符号数据类型。
因此,如果您正在寻找签名类型,那么 int8 -> byte
和 int16 -> short
它们只包含正值,为 0。所以,它是“无符号”对吗?
是的,那么它们是无符号的,但正如我已经告诉过你的那样,Java 不支持无符号类型。所以你可以做的是使用int8 -> short
和int16 -> int
【讨论】:
我已经回答了你关于未签名的问题。【参考方案2】:Java Primitive Data Types
byte:byte 数据类型是一个 8 位有符号二进制补码整数。它的最小值为 -128,最大值为 127(含)。 byte 数据类型可用于在大型数组中节省内存,其中内存节省实际上很重要。它们也可以用来代替 int ,它们的限制有助于澄清您的代码;变量的范围有限这一事实可以作为一种文档形式。
short:short 数据类型是一个 16 位有符号二进制补码整数。它的最小值为 -32,768,最大值为 32,767(含)。与 byte 一样,适用相同的准则:您可以在大型数组中使用 short 来节省内存,在内存节省实际上很重要的情况下。
【讨论】:
“变量范围有限这一事实可以作为一种文档形式。” - 这一定是我今天读到的最好的东西。【参考方案3】:在 Java 中,int8 是一个字节,您可以使用 int16 的缩写。
【讨论】:
Narendra 是对的,我在编辑评论之前公然撒谎 :)以上是关于Java中的等价数据类型的主要内容,如果未能解决你的问题,请参考以下文章
Laravel Schema 中的 MySQL 数据类型 SET 等价物是啥?