Java和x27之间的区别是什么;Apache Thrift中的s int[]和i32
有人能帮我理解Java中的Java和x27之间的区别是什么;Apache Thrift中的s int[]和i32,java,arrays,thrift,Java,Arrays,Thrift,有人能帮我理解Java中的int[]和Apache Thrift中的i32(NumericDataArray)之间的区别吗?什么时候应该使用后者?另外,我们是否有类似于字符串的i32?int[]是一个简单的数组,通常用于做简单的事情,例如存储临时数据 正如威廉所说,i32是第三方库 如果您没有非常具体的问题,我建议您使用int[],但是如果您需要使用i32,也许您可以查看以下链接:From 基本类型 选择基本类型的目的是简单明了 而不是大量,关注所有可用的关键类型 编程语言 bool: A bo
int[]
和Apache Thrift中的i32
(NumericDataArray
)之间的区别吗?什么时候应该使用后者?另外,我们是否有类似于字符串的i32
?int[]是一个简单的数组,通常用于做简单的事情,例如存储临时数据
正如威廉所说,i32是第三方库
如果您没有非常具体的问题,我建议您使用int[],但是如果您需要使用i32,也许您可以查看以下链接:From
基本类型
选择基本类型的目的是简单明了
而不是大量,关注所有可用的关键类型
编程语言
bool: A boolean value (true or false)
byte: An 8-bit signed integer
i16: A 16-bit signed integer
i32: A 32-bit signed integer
i64: A 64-bit signed integer
double: A 64-bit floating point number
string: A text string encoded using UTF-8 encoding
因此,i32
是一个映射到javaint
的32位有符号整数
thrift中没有数组,但容器类型:
容器
Thrift容器是强类型容器,通常映射到
大多数编程中使用的和常用的容器类型
语言
bool: A boolean value (true or false)
byte: An 8-bit signed integer
i16: A 16-bit signed integer
i32: A 32-bit signed integer
i64: A 64-bit signed integer
double: A 64-bit floating point number
string: A text string encoded using UTF-8 encoding
有三种容器类型:
列表:元素的有序列表。转换为STL向量,Java
ArrayList、脚本语言中的本机数组等
集合:唯一元素的无序集合。转换为STL集,Java
注意:PHP不支持集合,所以它是
像列表一样处理
映射:值的严格唯一键的映射。转换为STL映射、Java哈希映射、PHP关联数组、,
Python/Ruby字典等。虽然提供了默认值,但是
映射不是显式固定的。自定义代码生成器指令
已添加,以允许在各种类型中替换自定义类型
目标语言
bool: A boolean value (true or false)
byte: An 8-bit signed integer
i16: A 16-bit signed integer
i32: A 32-bit signed integer
i64: A 64-bit signed integer
double: A 64-bit floating point number
string: A text string encoded using UTF-8 encoding
容器元素可以是任何有效的节约类型
这些容器映射到相应的Java列表
、集合
和映射
因此,如果您使用thrift并需要传输int
-值的集合,那么您将使用int32
类型的列表容器,如list
,这将在java端生成java.util.ArrayList
无需担心
String
:thrift中有一个基本类型String
,它映射到javajava.lang.String
。因此,您只需在thrift中定义一个string
,您将在生成的java代码中包含java.lang.string
。i32
不是一个标准的东西。首先,一个是标准的一部分,另一个是第三方API。您使用的是哪一个第三方库?我们需要它来回答你的问题。好吧,thrift中没有NumericDataArray
,但是在thrift中有一个。你确定你正在使用/想要使用thrift吗?事实上,也有二进制文件(尽管文档中仍有其他指示),它是ByteBuffer,或者更本质上是byte[]。“为了完整起见。”粉红豹可以接受这个答案。